Menu
Coddy logo textTech

Total cumulé

Fait partie de la section Au-delà des bases du Journey SQL de Coddy. Leçon 25 sur 27.

Un total cumulatif est un SUM appliqué à une fenêtre avec ORDER BY : cela transforme l’agrégat en un total qui augmente ligne par ligne.

SELECT day, amount,
       SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenue

Sans ORDER BY, la fenêtre couvre chaque ligne et vous obtiendriez le total général sur chaque ligne. Avec cette clause, la fenêtre s’étend une ligne à la fois dans cet ordre, de sorte que chaque ligne ne voit qu’elle-même et tout ce qui la précède.

Ajoutez un PARTITION BY pour réinitialiser le total cumulé par groupe, par exemple le total cumulé de revenue par region, jour après jour.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • revenue : region, day, amount

Renvoyez region, day, amount et region_running_total : le amount cumulé pour cette région jusqu'à ce jour inclus. Le total cumulé doit être réinitialisé pour chaque région.

Utilisez PARTITION BY sur la fenêtre. Triez par region, puis par day.

Essayez vous-même

SELECT region, day, amount,
       -- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Au-delà des bases

Entraînez-vous par vous-même : Playground SQL