SQL Distinct Statement – Comment interroger, sélectionner et compter ?

En SQL, vous pouvez effectuer une requête de base de données et utiliser la fonction COUNT pour obtenir le nombre de lignes d’un groupe particulier dans la table.

Dans cet article, je vais vous montrer comment utiliser la fonction COUNT à l’aide de quelques exemples de code.

Qu’est-ce que la fonction COUNT en SQL ?

Cette fonction SQL renvoie le nombre de lignes pour un groupe donné.

Voici la syntaxe de base :

SELECT COUNT(nom_colonne) FROM nom_table ;

L’instruction SELECT en SQL indique à l’ordinateur d’obtenir des données de la table.

COUNT(nom_colonne) n’inclura pas les valeurs NULL dans le comptage.

Une valeur NULL en SQL fait référence à des valeurs qui ne sont pas présentes dans la table.

Vous pouvez parfois utiliser un * à l’intérieur de la parenthèse pour la fonction COUNT.

SELECT COUNT(*) FROM nom_table ;

La fonction COUNT(*) renvoie le nombre total d’éléments dans ce groupe, y compris les valeurs NULL.

La clause FROM de SQL spécifie la table que l’on veut lister.

Vous pouvez également utiliser le mot-clé ALL dans la fonction COUNT.

SELECT COUNT(ALL nom_colonne) FROM nom_table ;

Le mot-clé ALL comptera toutes les valeurs de la table, y compris les doublons. Vous pouvez omettre ce mot-clé car la fonction COUNT utilise le mot-clé ALL par défaut, que vous l’écriviez ou non.

Parfois, vous verrez le mot-clé DISTINCT utilisé avec la fonction COUNT.

SELECT COUNT(DISTINCT nom_colonne) FROM nom_table ;

Le mot-clé DISTINCT ne comptera que les valeurs uniques qui ne sont pas NULL. L’ordinateur ignorera toute valeur en double.

Comment utiliser la fonction COUNT en SQL

Dans cet exemple, nous avons une table pour les jeunes campeurs avec les colonnes id, nom, âge et conseiller.

Screen-Shot-2021-09-30-at-1.35.37-AM

Si nous voulons sélectionner toutes les lignes de notre tableau, nous pouvons utiliser la syntaxe suivante :

SELECT COUNT(*) FROM campeurs ;
Screen-Shot-2021-09-30-at-1.37.18-AM

Comme vous pouvez le voir, la requête renvoie le nombre 12 qui représente le nombre total de lignes dans notre table de campeurs.

Utilisation de la clause WHERE

Nous pouvons utiliser la clause WHERE pour spécifier le nombre de lignes correspondant au nom d’un conseiller de camp particulier.

Dans cet exemple, nous voulons compter le nombre de lignes pour le conseiller de camp par le nom de Ashley.

Dans la clause WHERE, nous devons spécifier le nom du conseiller avec la valeur "Ashley".

 WHERE counselor="Ashley" ;

Voici le code complet :

SELECT COUNT(*) FROM campeurs WHERE counselor="Ashley" ;

Voici ce que le résultat retournerait :

Screen-Shot-2021-09-30-at-1.47.03-AM

Si nous regardons notre tableau précédent, nous pouvons voir que "Ashley" n’apparaît que 4 fois.

Screen-Shot-2021-09-30-at-1.35.37-AM

Nous pouvons modifier notre résultat pour compter combien de lignes il y a pour les campeurs qui ont 11 ans.

Dans la clause WHERE, nous devons spécifier l’âge avec une valeur de 11.

WHERE age=11 ;

Voici le code complet :

SELECT COUNT(*) FROM campeurs WHERE âge=11 ;

Voici ce que le résultat retournerait :

Screen-Shot-2021-09-30-at-1.50.46-AM

Si nous jetons un coup d’œil à notre tableau de tout à l’heure, nous pouvons voir qu’il n’y a que trois campeurs de 11 ans.

Comment utiliser la clause GROUP BY

Nous pouvons utiliser la clause GROUP BY et la fonction COUNT pour connaître le nombre de campeurs de 11, 12 et 13 ans dans notre tableau.

Nous devons d’abord sélectionner la colonne d’âge et utiliser la fonction COUNT:

SELECT age, COUNT(*)

Nous devons ensuite spécifier le tableau des campeurs et regrouper les résultats par âge:

FROM campeurs GROUP BY age ;

Voici à quoi ressemble le code dans son ensemble :

SELECT age, COUNT(*) FROM campers GROUP BY age ;

Voici à quoi ressemblent les résultats :

Screen-Shot-2021-09-30-at-2.23.35-AM

Comment utiliser la clause ORDER BY

Nous pouvons modifier notre exemple pour la liste des âges et utiliser la clause ORDER BY pour lister les résultats du plus petit au plus grand.

Voici le code de la clause ORDER BY:

ORDONNER PAR NOMBRE(*) ;

Nous ajoutons cette clause à la fin de l’instruction SELECT comme suit :

SELECT age, COUNT(*) FROM campers GROUP BY age ORDER BY COUNT(*) ;

Voici à quoi ressemble l’exemple modifié :

Screen-Shot-2021-09-30-at-2.28.18-AM

Si nous voulons que les résultats du comptage soient triés du plus grand au plus petit, nous pouvons utiliser le mot-clé DESC.

Voici le code de la clause ORDER BY utilisant le mot-clé DESC:

ORDER BY COUNT(*) DESC ;

Voici le code complet :

SELECT age, COUNT(*) FROM campers GROUP BY age ORDER BY COUNT(*) DESC ;

Voici à quoi ressemblerait le nouveau résultat :

Screen-Shot-2021-09-30-at-2.31.52-AM

Comment utiliser la clause HAVING

Nous pouvons utiliser la clause HAVING pour spécifier une condition pour la fonction COUNT.

Nous pouvons modifier le code pour n’afficher que les résultats des âges pour lesquels le nombre est inférieur à 5.

Voici à quoi ressemble le code pour la clause HAVING:

AYANT UN NOMBRE(*)<5 ;

Voici à quoi ressemble le code complet :

SELECT age, COUNT(*) FROM campers GROUP BY age HAVING COUNT(*)<5 ;

Voici à quoi ressemblent les résultats modifiés :

Screen-Shot-2021-09-30-at-2.48.28-AM

Nous pouvons voir que les enfants de 12 ans ont été retirés de ce résultat parce que le nombre était supérieur à 5.

Conclusion

En SQL, vous pouvez effectuer une requête de base de données et utiliser la fonction COUNT pour obtenir le nombre de lignes d’un groupe particulier dans la table.

Voici la syntaxe de base :

SELECT COUNT(nom_colonne) FROM nom_table ;

COUNT(nom_colonne) n’inclura pas les valeurs NULL dans le comptage.

Une valeur NULL en SQL fait référence à des valeurs qui ne sont pas présentes dans la table.

Vous pouvez parfois utiliser un * à l’intérieur de la parenthèse pour la fonction COUNT.

SELECT COUNT(*) FROM nom_table ;

La fonction COUNT(*) renvoie le nombre total d’éléments dans ce groupe, y compris les valeurs NULL.

J’espère que cet article vous a plu et je vous souhaite bonne chance dans votre voyage SQL.