Sobes.tech
Middle

Wie teilt man Daten mit Fensterfunktionen in SQL in Gruppen auf?

sobes.tech KI

Antwort von AI

Fensterfunktionen in SQL ermöglichen es, Berechnungen über Gruppen von Zeilen durchzuführen, ohne das Ergebnis auf eine einzelne Zeile zu reduzieren, wie bei GROUP BY. Sie arbeiten mit einem Satz von Zeilen (Fenster), das für jede Zeile definiert ist.

Um Daten in Gruppen zu unterteilen und Fensterfunktionen anzuwenden, verwendet man die Konstruktion OVER (PARTITION BY ...). Zum Beispiel:

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

Hier werden die Daten nach department_id gruppiert, und innerhalb jeder Gruppe wird der Gehaltsrang berechnet.

Auf diese Weise ermöglichen Fensterfunktionen die Analyse von Daten nach Gruppen, während alle Zeilen der ursprünglichen Tabelle erhalten bleiben.