Fonctions d'agrégation et regroupement de données en SQL

WI
Wilan
3 min de lecture
AggregateGroup-ByHaving

Une fonction d'agrégation est un sous-programme en SQL qui produit une valeur unique lorsqu'elle est appelée. Cette fonction est utilisée pour effectuer des calculs statistiques standard sur des attributs ou champs dans une table, comme le calcul de la somme totale, de la moyenne, la recherche de valeurs extrêmes (minimum/maximum), ou encore le comptage du nombre d'enregistrements (lignes).

En termes simples, une fonction d'agrégation traite plusieurs lignes de données pour produire une seule valeur de sortie concise et informative.

1. Types de fonctions d'agrégation

Il existe cinq fonctions d'agrégation principales couramment utilisées dans le traitement des données :

  • SUM Cette fonction est utilisée pour additionner toutes les données d'une colonne spécifique. Notez que la fonction SUM ne peut être appliquée qu'aux colonnes de type de données numériques. Syntaxe : SELECT SUM(nom_colonne) FROM nom_table WHERE condition;
  • COUNT Cette fonction est utilisée pour compter le nombre de lignes dans une colonne. Contrairement à SUM, la fonction COUNT peut fonctionner avec des types de données numériques et non numériques (chaînes/texte). Syntaxe : SELECT COUNT(nom_colonne) FROM nom_table WHERE condition;
  • AVG (Moyenne) Cette fonction est utilisée pour trouver la valeur moyenne d'une colonne. Comme SUM, cette fonction ne fonctionne qu'avec les types de données numériques. Syntaxe : SELECT AVG(nom_colonne) FROM nom_table WHERE condition;
  • MIN Cette fonction est utilisée pour afficher la valeur la plus petite d'une colonne. La fonction MIN est flexible car elle peut fonctionner avec des types de données numériques et non numériques. Syntaxe : SELECT MIN(nom_colonne) FROM nom_table WHERE condition;
  • MAX Inverse de MIN, cette fonction est utilisée pour afficher la valeur la plus grande d'une colonne. Cette fonction prend également en charge les types de données numériques et non numériques. Syntaxe : SELECT MAX(nom_colonne) FROM nom_table WHERE condition;

2. Clause GROUP BY

La clause GROUP BY est utilisée pour regrouper les données sur une ou plusieurs colonnes en fonction d'une expression souhaitée. Son fonctionnement consiste à rassembler les enregistrements qui ont des valeurs identiques dans un même groupe.

L'utilisation de cette clause est étroitement liée aux fonctions d'agrégation, car nous souhaitons souvent voir des résultats statistiques (comme le total ou la moyenne) pour chaque catégorie spécifique. Syntaxe : SELECT nom_colonne FROM nom_table GROUP BY nom_colonne;

3. Clause HAVING

La clause HAVING a une fonction similaire à la clause WHERE, à savoir ajouter une condition ou un filtre au résultat de la requête. Cependant, il existe une différence fondamentale entre les deux :

  1. Remplacement de WHERE : La clause WHERE ne peut pas être utilisée avec des fonctions d'agrégation. Par conséquent, HAVING est utilisé pour filtrer les données en fonction des résultats de ces fonctions d'agrégation.
  2. Opération multilignes : HAVING est utilisé pour les opérations multilignes (après regroupement des données), tandis que WHERE opère au niveau de chaque ligne avant le regroupement.

Syntaxe : SELECT nom_colonne FROM nom_table GROUP BY nom_colonne HAVING condition;

W

Écrit par

Wilan

Contributeur permanent de Bali Island Tekno qui partage activement des connaissances sur la technologie, la programmation et le monde du génie logiciel.

Retour à l'accueil Mis à jour le : 5 juin 2026