← SQL — Fonctions de fenêtrage
Leçon 8 / 9 — Chapitre 4: Agrégats de fenêtre et cadres
Combiner AVG() et ROWS BETWEEN : une moyenne mobile
AVG() avec un cadre ROWS BETWEEN explicite calcule une moyenne mobile — une technique courante pour lisser des variations ligne par ligne.
SELECT boutique, mois, montant,
AVG(montant) OVER (
PARTITION BY boutique ORDER BY mois
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
) AS moyenne_mobile
FROM ventes_boutique;
Pour Nord : mois 1 → 100 (moyenne d'une seule valeur, aucune ligne précédente) ; mois 2 → (100 + 150) / 2 = 125 ; mois 3 → (150 + 200) / 2 = 175 (le mois 1 ne fait plus partie de la fenêtre de 2 lignes).
À retenir :
- Une moyenne mobile sur une fenêtre de N lignes lisse les variations ponctuelles, contrairement à la moyenne cumulée (leçon 3 de ce chapitre) qui intègre tout l'historique et réagit donc plus lentement aux changements récents.
- La taille de la fenêtre (ici, 2 lignes via
1 PRECEDING AND CURRENT ROW) contrôle le niveau de lissage : plus la fenêtre est grande, plus la moyenne mobile réagit lentement.
À vous de jouer : quelle est la moyenne_mobile pour la boutique Sud au mois 3 (montants : 80, 80, 140) ?
🔒
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 72 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès