PaliSkill
SQL — Fonctions de fenêtrage

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

SUM() OVER sans ORDER BY : le total de toute la partition

Sans ORDER BY dans la clause OVER, il n'y a pas de notion de « lignes précédentes » : SUM() calcule alors le total de toute la partition, répété identiquement sur chacune de ses lignes.

SELECT boutique, mois, montant,
  SUM(montant) OVER (PARTITION BY boutique) AS total_boutique
FROM ventes_boutique;

Pour chacune des 3 lignes de Nord, total_boutique vaut 450 (100 + 150 + 200) — la même valeur partout, contrairement au total cumulé de la leçon précédente qui progressait ligne après ligne.

À retenir :

  • SUM(colonne) OVER (PARTITION BY ...), sans ORDER BY, renvoie le total de la partition entière sur chaque ligne.
  • La présence ou l'absence d'ORDER BY dans OVER change donc radicalement le résultat : cumulatif avec, total fixe répété sans.

À vous de jouer : quelle est la valeur de total_boutique pour chacune des 3 lignes de Sud (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