Problème :
Vous souhaitez compter le nombre de valeurs différentes non NULL dans une colonne donnée.
Exemple :
Notre base de données a une table nommée customer avec des données dans les colonnes suivantes :id , first_name , last_name , et city .
| identifiant | prénom | nom_de_famille | ville |
|---|---|---|---|
| 1 | Jean | Williams | Chicago |
| 2 | Tom | Marron | Austin |
| 3 | Lucie | Miller | Chicago |
| 4 | Élie | Smith | Dallas |
| 5 | Brian | Jones | Austin |
| 6 | Allan | Davis | NULL |
Trouvons le nombre de différents (et non-NULL ) villes.
Solution :
SELECT COUNT( DISTINCT city) as cities FROM customer;
Cette requête renvoie le nombre de villes où vivent les clients :
| villes |
|---|
| 3 |
Discussion :
Pour compter le nombre de valeurs différentes stockées dans une colonne donnée, il vous suffit de désigner la colonne que vous transmettez au COUNT fonctionner comme DISTINCT . Lorsqu'une colonne est donnée, COUNT renvoie le nombre de valeurs dans cette colonne. En combinant ceci avec DISTINCT renvoie uniquement le nombre de valeurs uniques (et non NULL).