Problème :
Vous souhaitez déterminer le nombre de lignes d'un tableau.
Exemple :
Notre base de données a une table nommée pet
avec des données dans les colonnes suivantes :id
, eID
(identifiant électronique) et name
.
identifiant | eID | nom |
---|---|---|
1 | 23456 | étincelant |
2 | 23457 | my |
3 | NULL | moins |
4 | NULL | carl |
5 | 34545 | maggy |
Comptons toutes les lignes du tableau.
Solution :
COUNT(*)
compte le nombre total de lignes dans le tableau :
SELECT COUNT(*) as count_pet FROM pet;
Voici le résultat :
count_pet |
---|
5 |
Au lieu de passer l'astérisque en argument, vous pouvez utiliser le nom d'une colonne spécifique :
SELECT COUNT(id) as count_pet FROM pet;
Dans ce cas, COUNT(id)
compte le nombre de lignes dans lesquelles id
n'est pas NULL
.
Discussion :
Utilisez le COUNT
fonction d'agrégation pour compter le nombre de lignes dans une table. Cette fonction prend le nom de la colonne comme argument (par exemple, id
) et renvoie le nombre de lignes pour cette colonne particulière dans le tableau (par exemple, 5).
Comme mentionné ci-dessus, lorsque vous spécifiez une colonne au lieu de l'astérisque, la fonction ne comptera que les non-NULL
valeurs. Puisque id est la clé primaire de notre table - et a donc un caractère unique et non-NULL
valeurs - c'est un bon candidat pour compter le nombre total de lignes dans le tableau.
Bien sûr, pour compter toutes les lignes, vous pouvez à la place passer le caractère astérisque comme argument à COUNT. Cela comptera toutes les lignes, y compris celles avec une valeur de NULL
dans n'importe quelle colonne.
Voici un exemple de comptage du nombre de lignes pour une colonne qui a NULL
valeurs :
SELECT COUNT(eID) as count_pet FROM pet;
count_pet |
---|
3 |
Il est recommandé de transmettre une colonne de clé primaire ou le caractère * à la fonction COUNT pour compter le nombre de lignes dans une table. Comme nous l'avons vu, les deux approches donneront le même résultat.