PaliSkill
SQL — Fonctions de fenêtrage

Leçon 5 / 9 — Chapitre 4: Agrégats de fenêtre et cadres

ROWS BETWEEN : une fenêtre glissante à taille fixe

Un cadre explicite ROWS BETWEEN <début> AND <fin> permet de limiter la fenêtre à un nombre fixe de lignes, plutôt qu'un cumul qui grandit indéfiniment.

SELECT boutique, mois, montant,
  SUM(montant) OVER (
    PARTITION BY boutique ORDER BY mois
    ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
  ) AS somme_glissante
FROM ventes_boutique;

Cette fenêtre ne regarde jamais plus d'une ligne en arrière. Pour Nord : mois 1 → 100 (aucune ligne avant) ; mois 2 → 100 + 150 = 250 ; mois 3 → 150 + 200 = 350 (le mois 1 n'entre plus dans le calcul, seulement le mois précédent immédiat et le mois courant).

À retenir :

  • ROWS BETWEEN 1 PRECEDING AND CURRENT ROW définit une fenêtre glissante de 2 lignes maximum (la précédente et la courante), contrairement au cumul par défaut qui inclut toute la partition depuis le début.
  • Ce type de cadre sert typiquement à lisser des données sur une période glissante récente, plutôt que sur tout l'historique.

À vous de jouer : quelle est la valeur de somme_glissante pour la boutique Sud au mois 3 (80, 80, puis 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