PaliSkill
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