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