sql / intermediate
Snippet
Berechnung kumulativer Summen mittels Window-Framing
Window-Funktionen berechnen Aggregationen über definierte Teilmengen, ohne Zeilen zu zusammenzufassen. Die explizite Festlegung von Rahmenbedingungen wie UNBOUNDED PRECEDING AND CURRENT ROW garantiert vorhersagbare laufende Summen gemäß ANSI-SQL-Standard.
snippet.sql
sql
1
2
3
4
5
6
7
8
9
10
11
SELECTemployee_id,department_id,hire_date,salary,SUM(salary) OVER (PARTITION BY department_idORDER BY hire_dateROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_dept_totalFROM employees;
Erklärung
1
SUM(salary) OVER (
Startet eine Window-Funktion zur Aggregation, ohne Zeilen zu gruppieren.
2
PARTITION BY department_id
Setzt die kumulierte Berechnung für jede Abteilung separat zurück.
3
ORDER BY hire_date
Bestimmt die chronologische Reihenfolge für das Aufsummieren der Gehälter.
4
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
Definiert den Rahmen von der ersten Zeile bis zur aktuellen Zeile.