Leçon 6 / 9 — Chapitre 5: Fonctions d'agrégation
Combiner plusieurs fonctions d'agrégation
Plusieurs fonctions d'agrégation peuvent apparaître dans le même SELECT, chacune produisant sa propre colonne dans l'unique ligne de résultat.
SELECT COUNT(*), SUM(prix), AVG(prix), MIN(prix), MAX(prix) FROM produits;
Ce code affiche en une seule ligne cinq valeurs récapitulatives sur la table entière : le nombre de produits (6), la somme des prix (2400), la moyenne (400), le minimum (100) et le maximum (600).
Mélanger une fonction d'agrégation avec une colonne non agrégée dans le même SELECT, sans GROUP BY (vu au chapitre suivant), pose problème : le moteur SQL ne sait pas quelle valeur de la colonne non agrégée afficher, puisque l'agrégation réduit toutes les lignes à une seule.
SELECT nom, COUNT(*) FROM produits;
Ce code est généralement invalide (ou produit un résultat non défini selon le moteur) : nom a 6 valeurs différentes possibles, mais COUNT(*) réduit tout à une seule ligne — il manque un GROUP BY pour indiquer comment concilier les deux, une notion vue au prochain chapitre.
À retenir :
- Plusieurs fonctions d'agrégation peuvent apparaître ensemble dans un même
SELECT, chacune sur sa propre colonne. - Mélanger une fonction d'agrégation avec une colonne non agrégée, sans
GROUP BY, est généralement invalide.
À vous de jouer : écrivez une requête qui affiche en une seule fois le nombre de produits, le stock minimum et le stock maximum.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 84 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès