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 Struc­tu­red Query Language (SQL) de nom­breuses fonctions per­met­tant d’effectuer des tâches ma­thé­ma­tiques simples. Outre SQL AVG() et SUM(), SQL COUNT() est par­ti­cu­liè­re­ment utile. Cette fonction vous donne le nombre de lignes qui cor­res­pon­dent à 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 à dif­fé­rents pa­ra­mètres op­tion­nels, vous pouvez instruire la fonction de manière encore plus précise. Nous vous montrons quelques exemples possibles dans ce qui suit.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

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;
sql

Cependant, 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;
sql

Exemple de fonc­tion­ne­ment

Pour illustrer les pos­si­bi­li­tés offertes par SQL COUNT(), nous allons créer un exemple de table appelée Liste de clients. Celle-ci comprend des in­for­ma­tions sur le numéro de client, le nom du client, sa lo­ca­li­sa­tion, 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 Stras­bourg 9 220
1212 Froissy Lille 15 619
1431 Courtier Stras­bourg 22 912
1118 Sulis NULL 10 312

Si nous ap­pli­quons main­te­nant la variante de base de la fonction à ce tableau, nous obtenons le code suivant :

SELECT COUNT(*)
FROM Liste de clients ;
sql

Vous obtenez en sortie la valeur 5, car votre table contient cinq lignes.

Spécifier la requête des colonnes

En plaçant un as­té­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 ob­tien­drons un résultat global différent :

SELECT COUNT(Ville)
FROM Liste de clients;
sql

Comme aucune ville n’a été définie pour le client Sulis, nous obtenons le résultat 4.

Com­bi­nai­son 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 sim­ple­ment vérifier combien de clients viennent de Stras­bourg, nous insérons cette condition :

SELECT COUNT(Ville)
FROM Liste de clients
WHERE Ville = 'Strasbourg';
sql

Nous obtenons main­te­nant le résultat 2.

De la même manière, SQL COUNT() fonc­tionne 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;
sql

Cela 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 dif­fé­rentes pro­vien­nent vos clients, utilisez le code suivant :

SELECT COUNT(DISTINCT Ville)
FROM Liste de clients;
sql

Dans ce cas, le résultat est 4. Les deux entrées pour Stras­bourg n’ont été comptées qu’une seule fois. Comme le champ pour le client Sulis est NULL, celui-ci est également exclu du clas­se­ment.

La fonction SQL COUNT() avec un alias

Si vous souhaitez donner un titre sup­plé­men­taire à la sortie, vous pouvez utiliser le mot-clé « AS » (plus d’in­for­ma­tions 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;
sql

La sortie est alors la suivante :

Nombre d’entrées
5
sql
Conseil

Choi­sis­sez le modèle de base de données qui vous convient vraiment : avec le serveur d’hé­ber­ge­ment SQL de IONOS, vous utilisez selon vos besoins MSSQL, MySQL ou MariaDB et profitez d’une per­for­mance de pointe, d’une ar­chi­tec­ture de sécurité solide et de conseils per­son­na­li­sés.

Aller au menu principal