SQL COUNT() : compter les lignes d’une table
La fonction SQL COUNT()
permet de compter le nombre de lignes dans une table. En utilisant la clause WHERE
, vous pouvez préciser les critères de sélection des lignes à compter.
Qu’est-ce que SQL COUNT()
?
Il existe dans le Structured Query Language (SQL) de nombreuses fonctions permettant d’effectuer des tâches mathématiques simples. Outre SQL AVG()
et SUM()
, SQL COUNT()
est particulièrement utile. Cette fonction vous donne le nombre de lignes qui correspondent à un certain critère. Cela vous permet de filtrer votre tableau selon vos propres exigences et augmente ainsi la clarté. SQL COUNT()
est utilisé avec la commande SQL SELECT
. Grâce à différents paramètres optionnels, vous pouvez instruire la fonction de manière encore plus précise. Nous vous montrons quelques exemples possibles dans ce qui suit.
- Virtualisation complète avec accès root
- Trafic illimité et jusqu'à 1 Gbit/s de bande passante
- Stockage SSD NVMe rapide et édition Plesk Web Host
Syntaxe de la fonction SQL COUNT()
Dans sa forme la plus simple, elle ne comporte que deux lignes et ressemble à ceci :
SELECT COUNT(*)
FROM table;
sqlCependant, il est souvent utile d’inclure une condition WHERE
pour spécifier la sortie. Dans ce cas, la fonction sera un peu plus longue :
SELECT COUNT(*)
FROM table
WHERE condition;
sqlExemple de fonctionnement
Pour illustrer les possibilités offertes par SQL COUNT()
, nous allons créer un exemple de table appelée Liste de clients
. Celle-ci comprend des informations sur le numéro de client, le nom du client, sa localisation, le nombre d’articles commandés et la somme investie en euros. Elle se présente comme suit :
Numéro client | Nom | Ville | Articles | Montant total |
---|---|---|---|---|
1427 | Foucault | Marseille | 14 | 634 |
1377 | Berron | Strasbourg | 9 | 220 |
1212 | Froissy | Lille | 15 | 619 |
1431 | Courtier | Strasbourg | 22 | 912 |
1118 | Sulis | NULL | 10 | 312 |
Si nous appliquons maintenant la variante de base de la fonction à ce tableau, nous obtenons le code suivant :
SELECT COUNT(*)
FROM Liste de clients ;
sqlVous obtenez en sortie la valeur 5
, car votre table contient cinq lignes.
Spécifier la requête des colonnes
En plaçant un astérisque après COUNT
, vous indiquez au système de prendre en compte toutes les lignes et tous les champs sans exception. Il est également possible de limiter la requête à certaines colonnes. Dans ce cas, les valeurs NULL ne sont pas prises en compte. Ainsi, si nous vérifions le nombre de lignes dans Ville
, nous obtiendrons un résultat global différent :
SELECT COUNT(Ville)
FROM Liste de clients;
sqlComme aucune ville n’a été définie pour le client Sulis
, nous obtenons le résultat 4
.
Combinaison avec WHERE
Dans l’étape suivante, nous utilisons la fonction avec une condition WHERE
. Cela permet de filtrer les entrées selon nos besoins. Par exemple, si nous voulons simplement vérifier combien de clients viennent de Strasbourg, nous insérons cette condition :
SELECT COUNT(Ville)
FROM Liste de clients
WHERE Ville = 'Strasbourg';
sqlNous obtenons maintenant le résultat 2
.
De la même manière, SQL COUNT()
fonctionne si nous voulons seulement prendre en compte les clients qui ont acheté pour au moins 400 euros :
SELECT COUNT(Ville)
FROM Liste de clients
WHERE Montant total > 400;
sqlCela s’applique à trois clients.
Exclure les entrées en double
Avec le mot-clé DISTINCT
, vous pouvez exclure les entrées en double. Ainsi, si vous souhaitez savoir de combien de villes différentes proviennent vos clients, utilisez le code suivant :
SELECT COUNT(DISTINCT Ville)
FROM Liste de clients;
sqlDans ce cas, le résultat est 4
. Les deux entrées pour Strasbourg n’ont été comptées qu’une seule fois. Comme le champ pour le client Sulis
est NULL, celui-ci est également exclu du classement.
La fonction SQL COUNT()
avec un alias
Si vous souhaitez donner un titre supplémentaire à la sortie, vous pouvez utiliser le mot-clé « AS » (plus d’informations sur les alias SQL dans notre Digital Guide). Celui-ci crée un alias pour la durée de la requête. Voici un alias possible dans le cadre de notre exemple :
SELECT COUNT(*) AS [Nombre d’entrées]
FROM Liste de clients;
sqlLa sortie est alors la suivante :
Nombre d’entrées
5
sqlChoisissez le modèle de base de données qui vous convient vraiment : avec le serveur d’hébergement SQL de IONOS, vous utilisez selon vos besoins MSSQL, MySQL ou MariaDB et profitez d’une performance de pointe, d’une architecture de sécurité solide et de conseils personnalisés.