Total cumulé
Fait partie de la section Au-delà des bases du Journey SQL de Coddy. Leçon 25 sur 27.
Un total courant (cumulatif) est une SUM sur 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 tu obtiendrais le total général sur chaque ligne. Avec, elle s’agrandit d’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é pour chaque groupe, par exemple le total cumulé des revenus par région, jour après jour.
Défi
FacileTables et colonnes disponibles :
revenue:region,day,amount
Renvoyez region, day, amount et region_running_total : le cumul de amount pour cette région jusqu’à ce jour inclus. Le cumul doit être réinitialisé pour chaque région.
Utilisez PARTITION BY pour la fenêtre. Triez par region, puis par day.
Essayez vous-même
SELECT region, day, amount,
-- ajoutez la colonne region_running_total ici
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