Problema:
Le gustaría contar cuántos valores no NULL diferentes hay en una columna dada.
Ejemplo:
Nuestra base de datos tiene una tabla llamada customer
con datos en las siguientes columnas:id
, first_name
, last_name
y city
.
id | nombre | apellido | ciudad |
---|---|---|---|
1 | Juan | Williams | Chicago |
2 | Tom | Marrón | Austin |
3 | Lucía | Molinero | Chicago |
4 | Ellie | Smith | Dallas |
5 | Brian | Jones | Austin |
6 | Allan | Davis | NULO |
Encontremos el número de diferentes (y no NULL
) ciudades.
Solución:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Esta consulta devuelve el número de ciudades donde viven los clientes:
ciudades |
---|
3 |
Discusión:
Para contar la cantidad de valores diferentes que se almacenan en una columna determinada, simplemente debe designar la columna que pasa a COUNT
funcionar como DISTINCT
. Cuando se le da una columna, COUNT
devuelve el número de valores en esa columna. Combinando esto con DISTINCT
devuelve solo el número de valores únicos (y no NULL).