Menu
Coddy logo textTech

Laufende Summe

Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy. Lektion 25 von 27.

Eine laufende (kumulative) Summe ist SUM über ein Fenster mit ORDER BY: Dadurch wächst das Aggregat Zeile für Zeile.

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

Ohne ORDER BY umfasst das Fenster jede Zeile, und du würdest in jeder Zeile die Gesamtsumme erhalten. Mit ORDER BY erweitert sich das Fenster in dieser Reihenfolge jeweils um eine Zeile, sodass jede Zeile nur sich selbst und alles davor sieht.

Füge ein PARTITION BY hinzu, um die laufende Summe pro Gruppe zurückzusetzen, z. B. die laufende Summe des Umsatzes pro Region, Tag für Tag.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • revenue: region, day, amount

Gib region, day, amount und region_running_total zurück: den kumulativen amount für die jeweilige Region bis einschließlich dieses Tages. Die laufende Summe sollte für jede Region zurückgesetzt werden.

Verwende PARTITION BY für das Fenster. Sortiere nach region und dann nach day.

Probier es selbst

SELECT region, day, amount,
       -- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Über die Grundlagen hinaus

Übe selbstständig: SQL-Playground