0 Tage Serie
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
SELECT
employee_id,
department_id,
hire_date,
salary,
SUM(salary) OVER (
PARTITION BY department_id
ORDER BY hire_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS running_dept_total
FROM 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.