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).