XamSQL — la salle de sport SQL des francophones

Agrégation · 20 min

GROUP BY : grouper les résultats

Apprendre à regrouper les résultats par valeur de colonne (ou plusieurs colonnes) pour des agrégats par groupe (comptage, moyenne, somme...).

Contexte

Pour avoir des statistiques par catégorie (par étudiant, par cours, par matière...), on utilise GROUP BY.

Explication

GROUP BY col1, col2, ... rapproche les lignes de même valeur(s).

Règles :

Syntaxe :

SELECT col1, COUNT(*) AS nb FROM une_table GROUP BY col1;

Exemple guidé

Nombre de notes par cours :

SELECT cours_id, COUNT(*) AS nb FROM notes GROUP BY cours_id ORDER BY cours_id;

Résultat :

cours_idnb
13
23
36
44
52
63
72
82
92

GROUP BY groupe les lignes par valeur. Une colonne non groupée dans SELECT doit être une agrégation (COUNT, SUM, AVG...)

À retenir

GROUP BY = regroupement par colonne(s). Toute colonne non groupée dans SELECT DOIT être une agrégation. Le résultat est un par groupe.

Exercices de cette leçon

Faire les exercices →