Accéder au contenu principal

COUNT() FONCTION SQL

COUNT() vous permet de compter le nombre de lignes qui répondent à certaines conditions. Apprenez à l'utiliser dans ce tutoriel.
Actualisé 14 nov. 2024  · 3 min de lecture

Exécutez et modifiez le code de ce tutoriel en ligne

Exécuter le code

Qu'est-ce que la COUNT() fonction ?

La fonction COUNT() renvoie le nombre de lignes correspondant à un critère.

COUNT() syntax

La syntaxe de base de COUNT() est la suivante.

SELECT COUNT(column_name)
FROM table_name;

Les variations de la syntaxe permettent d'atteindre des objectifs différents.

  • La syntaxe COUNT(*) nous permet de compter le nombre de lignes d'un tableau
  • La syntaxe COUNT(DISTINCT column) nous permet de compter le nombre de valeurs distinctes dans une colonne 
  • La syntaxe COUNT(CASE WHEN condition THEN column END) nous permet de compter le nombre de valeurs qui remplissent les conditions.

COUNT()utilisée avec GROUP BY, est utile pour compter le nombre de lignes appartenant à chaque groupe.

COUNT()utilisée avec HAVING, est utile pour filtrer les groupes en fonction du nombre de lignes qu'ils contiennent.

Nous allons les illustrer à l'aide des exemples ci-dessous.

COUNT() exemples

Exemple 1 : Compter le nombre de lignes avec COUNT(*)

Le tableau intitulé "Produits" contient tous les produits vendus par une entreprise. La clause COUNT(*) permet de calculer le nombre de tableaux. 

SELECT
    COUNT(*) AS number_of_rows
FROM products

number_of_rows

321

Exemple 2 : Compter les valeurs uniques avec COUNT(DISTINCT …)

La syntaxe COUNT(DISTINCT column) nous permet de compter le nombre de valeurs uniques dans une colonne.

Par exemple, chaque produit est associé à une marque dans le tableau products. Nous pouvons compter le nombre de produits et de marques uniques dans le tableau.

SELECT
    COUNT(DISTINCT product_id) AS unique_product_count,
    COUNT(DISTINCT brand_id) AS unique_brand_count
FROM products

unique_product_count

unique_brand_count

321

9

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.

Exemple 3 : Comptez les lignes qui correspondent à une condition en utilisant COUNT() avec CASE WHEN 

La syntaxe COUNT(CASE WHEN condition THEN column END) nous permet de calculer le nombre de lignes qui correspondent à une condition.

Par exemple, dans le tableau des produits, chaque produit possède une adresse list_price. Nous pouvons calculer combien de produits sont "expensive" (ayant un prix catalogue de plus de 500 $) ou non.

SELECT
    COUNT(CASE WHEN list_price >= 500 THEN product_id END) AS expensive_product_count,
   COUNT(CASE WHEN list_price < 500 THEN product_id END) AS cheap_product_count
FROM products

expensive_product_count

cheap_product_count

213

108

Exemple 4 : Comptez les lignes par groupes en utilisant COUNT() avec GROUP BY

COUNT() peut être utilisé avec GROUP BY pour trouver le nombre de lignes dans chaque groupe.

Par exemple, le tableau des produits contient les modèles de vélos de 2016 à 2019. Pour connaître la distribution de la bicyclette, nous pouvons utiliser COUNT(product_id) et GROUP BY model_year pour compter le nombre de produits de chaque année. 

SELECT
    model_year,
    COUNT(product_id) AS product_count
FROM products
GROUP BY model_year

model_year

product_count

2016

26

2017

85

2018

204

2019

6

Exemple 5 : Filtrer les groupes à l'aide de COUNT() avec GROUP BY et HAVING

Dans l'exemple 4, nous voyons que COUNT() peut être utilisé avec GROUP BY. Nous pouvons utiliser l'instruction HAVING pour filtrer les groupes en utilisant le nombre de lignes dans ce groupe.

Par exemple, pour trouver le nombre d'années qui ont moins de 50 produits, nous pouvons utiliser la syntaxe suivante. 

SELECT
   model_year
FROM products
GROUP BY model_year
HAVING COUNT(product_id) < 50

year_with_less_than_50_pdt

2016

2019

Exigences techniques

COUNT() est une fonction disponible dans toutes les versions de SQL moderne. 

Voir aussi

En savoir plus sur SQL

Devenez certifié SQL

Prouvez que vos compétences en SQL sont prêtes à l'emploi grâce à une certification.
Sujets

Cours SQL populaires

Certification disponible

cours

Introduction à SQL

2 hr
881.7K
Apprenez à créer et à interroger des bases de données relationnelles à l'aide de SQL en seulement deux heures.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow