Grouper les données

SQL:grouper les données

Parfois, vous pouvez avoir besoin de calculer une valeur pour un niveau de regroupement :

  • chiffre d’affaires cumulé par région,

  • salaire moyen par département.

Pour ce genre d’interrogation, vous allez pouvoir utiliser des fonctions d’agrégat (SUM, AVG, etc.) et regrouper les données grâce à la clause GROUP BY ; en complément, le résultat final, après regroupement, peut être restreint avec la clause HAVING.

GROUP BY HAVING

Syntaxe

SELECT expression[,...] | * 
FROM nom_table 
[WHERE conditions]  SELECT:GROUP BY
GROUP BY expression [,...] SELECT:HAVING
[HAVING conditions]  
[ORDER BY expression [ASC | DESC][,...]] 
[LIMIT [offset,] nombre_lignes] 

La clause GROUP BY s’intercale entre les clauses WHERE et ORDER BY (si elles sont présentes). Elle spécifie les expressions utilisées pour effectuer le regroupement.

expression peut être :

  • une colonne,

  • une expression basée sur des colonnes,

  • un alias de colonne,

  • un numéro correspondant à la position d’une expression de la clause SELECT (syntaxe déconseillée et obsolète).

Dans les anciennes versions, le résultat de la requête était trié par défaut en ordre croissant sur les différentes expressions de la clause GROUP BY ; l’ordre du tri de chaque niveau de regroupement pouvait être défini explicitement avec...

couv_RI58PH8MY.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Exporter et importer une base de données
Suivant
Utiliser des sous-requêtes