Leçon 7 / 9 — Chapitre 5: Fonctions d'agrégation
Fonctions d'agrégation avec WHERE
Toutes les fonctions d'agrégation vues dans ce chapitre (COUNT, SUM, AVG, MIN, MAX) suivent la même règle avec WHERE : le filtre s'applique avant l'agrégation, jamais après.
SELECT COUNT(*), AVG(prix) FROM produits WHERE stock > 20;
Ce code filtre d'abord sur stock > 20 (vu au deuxième chapitre), gardant Cahier (40), Stylo (120), Savon (25), puis calcule le nombre de lignes (3) et le prix moyen de ces 3 lignes uniquement : (500 + 100 + 300) / 3 = 300.
L'ordre d'écriture reste le même que vu au chapitre précédent : WHERE avant toute agrégation dans le SELECT, même si l'agrégation elle-même s'écrit dans le SELECT, avant le mot-clé WHERE.
SELECT SUM(prix) FROM produits WHERE categorie IN ('hygiene', 'boisson');
Ce code combine SUM avec IN (vu au troisième chapitre) : seuls Savon, Dentifrice et Jus sont filtrés, puis leurs prix additionnés : 300 + 500 + 600 = 1400.
À retenir :
- Le filtre
WHEREs'applique toujours avant qu'une fonction d'agrégation ne traite les lignes restantes. - Toute condition
WHEREvue jusqu'ici (comparaisons,LIKE,IN,BETWEEN) se combine librement avec une agrégation.
À vous de jouer : écrivez une requête qui calcule le prix moyen des produits dont le nom commence par la lettre S.
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