Fonctions d'agrégation
f(A) = Résultat agrégé
Calcul sur un ensemble
COUNT, SUM, AVG :
SELECT
COUNT(*) AS nb_etudiants,
SUM(Age) AS somme_ages,
AVG(Age) AS moyenne_age
FROM Etudiants;
COUNT(*) AS nb_etudiants,
SUM(Age) AS somme_ages,
AVG(Age) AS moyenne_age
FROM Etudiants;
MIN, MAX :
SELECT
MIN(Age) AS age_min,
MAX(Age) AS age_max
FROM Etudiants;
MIN(Age) AS age_min,
MAX(Age) AS age_max
FROM Etudiants;
GROUP BY et HAVING
GROUP BY : Regrouper les lignes
HAVING : Filtrer les groupes
ORDER BY : Trier les résultats
Avec fonctions d'agrégation
Exemple GROUP BY
Par cours
Par année
Par ville
Conseils & Astuces
Toujours utiliser GROUP BY avec agrégations
Utiliser HAVING au lieu de WHERE pour les groupes
Trier avec ORDER BY après GROUP BY
COUNT(*) compte toutes les lignes
COUNT(colonne) exclut les valeurs NULL
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