Sobes.tech
Middle

Was sind Fensterfunktionen in SQL und wofür werden sie verwendet?

sobes.tech KI

Antwort von AI

Fensterfunktionen (window functions) in SQL sind Funktionen, die Berechnungen über eine Menge von Zeilen durchführen, die mit der aktuellen Zeile verbunden sind, ohne die Ergebnisse zu einer einzigen Zeile zusammenzufassen, wie es bei Aggregatfunktionen der Fall ist.

Sie ermöglichen beispielsweise die Berechnung gleitender Summen, das Rangieren von Zeilen, die Berechnung von kumulativen Summen, Durchschnittswerten usw., wobei die ursprüngliche Zeilenzahl im Ergebnis beibehalten wird.

Beispiel für die Verwendung der Fensterfunktion ROW_NUMBER():

SELECT
    employee_id,
    department_id,
    salary,
    ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_dept
FROM employees;

Hier wird für jeden Mitarbeiter sein Rang nach Gehalt innerhalb der Abteilung berechnet, wobei alle Zeilen erhalten bleiben.

Fensterfunktionen sind nützlich für Analysen, Berichte und komplexe Berechnungen, bei denen der Kontext jeder Zeile im Verhältnis zu anderen sichtbar sein muss.