GROUP BY
GROUP BY = Agrégation par critère
Regroupement de lignes
Groupement par cours :
SELECT cours_id, COUNT(*)
FROM Inscriptions
GROUP BY cours_id;
FROM Inscriptions
GROUP BY cours_id;
Groupement avec condition :
SELECT ville, AVG(age)
FROM Etudiants
GROUP BY ville
HAVING COUNT(*) > 5;
FROM Etudiants
GROUP BY ville
HAVING COUNT(*) > 5;
ORDER BY
ORDER BY : Tri des résultats
ASC : Ordre croissant
DESC : Ordre décroissant
Tri multi-colonnes
Ordre des clauses
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Conseils & Astuces
Toujours utiliser GROUP BY avec agrégations
Utiliser HAVING pour filtrer les groupes
ORDER BY s'exécute en dernier
GROUP BY regroupe les lignes identiques
On peut trier par colonne non sélectionnée
Erreurs Fréquentes
Erreur 1 :
Oublier GROUP BY quand on utilise des agrégations
Erreur 2 :
Utiliser WHERE au lieu de HAVING pour filtrer les groupes
Erreur 3 :
Mélanger colonnes normales et agrégations sans GROUP BY