Fensterfunktionen in SQL sind leistungsstarke Werkzeuge, die komplexe Datenanalysen und Berechnungen über Tabellenreihen hinweg ermöglichen. Sie ermöglichen es Benutzern, Operationen wie laufende Summen, Rankings und gleitende Durchschnitte durchzuführen, ohne dass Unterabfragen oder temporäre Tabellen erforderlich sind.

Fensterfunktionen verstehen

Fensterfunktionen arbeiten über einen bestimmten Zeilenbereich, der sich auf die aktuelle Zeile bezieht, definiert durch die OVER()-Klausel.

Häufige Arten von Fensterfunktionen

  • RANK() und DENSE RANK(): weist Ranglisten Zeilen innerhalb einer Partition zu.
  • ROW NUMBER(): Bietet eine eindeutige fortlaufende Nummer für jede Zeile.
  • LEAD() und LAG(): Zugriff auf Daten aus nachfolgenden oder vorherigen Zeilen.
  • SUM(), AVG(), MIN(), MAX(): Aggregate-Funktionen, die als Fensterfunktionen für die Ausführung von Summen und Durchschnitten verwendet werden.

Praktische Anwendungen

Fensterfunktionen werden in verschiedenen Szenarien verwendet, wie z. B. die Berechnung von laufenden Gesamtwerten, die Erstellung von Rankings und die Analyse von Trends im Laufe der Zeit. sie sind besonders nützlich in Finanzberichten, Verkaufsanalysen und Leistungskennzahlen.

Beispiel: Berechnung der Laufsumme

Die folgende SQL-Abfrage zeigt, wie Sie eine laufende Gesamtsumme der Verkäufe für jedes Produkt berechnen: