Groupement de résultats (group by)

Groupement des résultats : GROUP BY

La clause GROUP BY nous permet d'effectuer des requêtes plus complexes, comme des calculs mais en incluant aussi les lignes. Si on désire sortir par exemple, le meilleur étudiant de chaque région, en affichant sa moyenne et son prénom.

Requête SQL :

SELECT domicile, prenom, MAX( moyenne ) AS maxmoy FROM etudiant GROUP BY domicile;

 

Résultat :

Résultat d'une requête SQL avec Group By
domicile prenom maxmoy
Beaurepaire Daniel 17
Grenoble Adrien 16
Lyon Daniel 18
Roussillon Rita 12
St Rambert Valérie 19
St Vallier Alvaro 19

Une des applications les plus intéressantes de GROUP BY est de l'associer à la clause HAVING. Ceci permet d'appliquer une restriction sur les groupes créés par GROUP BY.

Par précaution, on ajoute HAVING moyenne ISNOTNULL à la fin de la requête pour ne pas prendre les valeurs 'null'.

A propos de l'auteur

Nicolas Galle

Nicolas Galle est développeur web sénior pour l'agence SEO Aseox.