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 revenueSans 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.
Défi
FacileTables 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
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
1Logique conditionnelle
CASE WHENCASE dans ORDER BYCOALESCE pour les NULLNULLIF et IIFRécapitulatif - Présence3Agrégation conditionnelle
COUNT avec CASESUM avec CASEPivoter les lignes en colonnesRécapitulatif - Sources de trafic6Recettes d’analyse
Top-N par groupePourcentage du totalTotal cumuléGarder une ligne par cléRécapitulatif - Meilleurs clientsEntraînez-vous par vous-même : Playground SQL