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 IONOS au meilleur prix et encore plus per­for­mants
  • Nouveau : évo­lu­ti­vité flexible grâce au clonage de VM, au load balancing, aux nouvelles options de stockage et bien plus
  • Trafic illimité, dis­po­ni­bi­lité > 99,99 %
  • As­sis­tance 24/7 avec 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