Zurück zur Artikelliste Artikel
8 Leseminuten

Starterpaket für Fensterfunktionen für 2026: Lernen Sie im Januar jede Woche eine fortgeschrittene Funktion

Fensterfunktionen sind eine der praktischsten SQL-Fähigkeiten, die Sie lernen können, wenn Sie bereits über Grundkenntnisse verfügen und Daten effektiver analysieren möchten. Sie helfen Ihnen, Zeilen zu vergleichen, Ranglisten zu erstellen und Änderungen im Laufe der Zeit zu verfolgen, ohne komplexe Unterabfragen zu benötigen. In diesem Starterpaket lernen Sie im Januar jede Woche eine Fensterfunktion und machen so ein fortgeschrittenes Thema zu einem nützlichen, alltäglichen SQL-Werkzeug.

Fensterfunktionen gehören zu den SQL-Themen, die oft als „fortgeschritten” bezeichnet und dann stillschweigend aufgeschoben werden. In der realen Analysearbeit sind sie jedoch eine der schnellsten Möglichkeiten, um sich weiterzuentwickeln. Mit ihnen können Sie Daten Zeile für Zeile analysieren, ohne Details zu verlieren, komplexe Unterabfragen vermeiden und SQL schreiben, das tatsächlich Ihre Denkweise in Bezug auf Daten widerspiegelt.

Der Januar ist ein guter Zeitpunkt, um sich damit zu befassen. Neue Berichtszyklen, neue Projekte und oft auch neue Lernziele. Anstatt zu versuchen, alles auf einmal zu lernen, konzentriert sich dieses Starterpaket auf eine praktische Fertigkeit pro Woche. Nach einem Monat werden Sie Fensterfunktionen nicht nur erkennen, sondern auch wissen, wie man sie einsetzt.

Dieser Artikel zeigt, wie Sie diesen Monat strukturieren und wie Sie die Ressourcen von LearnSQL.de nutzen können, um den Prozess effizient und realistisch zu gestalten. Jede Ressource von LearnSQL.com hat eine klare Aufgabe:

  • Der Kurs „Fensterfunktionen“ vermittelt detailliert die Konzepte und die Syntax der Fensterfunktionen. Über 200 praktische Übungen sorgen dafür, dass Sie jedes Konzept vertiefen und viel praktische Erfahrung sammeln können.
  • Der „Fensterfunktionen-Spickzettel“ ist eine herunterladbare Referenz, die die Syntax, wichtige Klauseln und die am häufigsten verwendeten Fensterfunktionen zusammenfasst. Er ist in den Formaten A4, Letter, A3, Ledger und als mobilfreundliches PDF verfügbar, sodass Sie während der Arbeit mit Fensterfunktionen schnell nachschlagen können.

Zusammen bilden sie einen vollständigen Lernkreislauf: lernen, üben, anwenden.

Warum es sich lohnt, 2026 Fensterfunktionen zu lernen

Bei den meisten SQL-Aufgaben in der Praxis geht es nicht um Summen. Es geht um Vergleiche:

  • Wer hat mehr verkauft als im letzten Monat?
  • Welches Produkt rangiert in jeder Kategorie am höchsten?
  • Wie ist der heutige Wert im Vergleich zur vorherigen Zeile?

Klassische GROUP BY Abfragen haben Schwierigkeiten mit diesen Fragen, da sie Details einzelner Zeilen entfernen. Fensterfunktionen lösen dieses Problem, indem sie Werte über verwandte Zeilen hinweg berechnen und dabei jede ursprüngliche Zeile intakt lassen.

Stellen Sie sich eine GROUP BY Abfrage mit den täglichen Einnahmen pro Produkt.

product total_revenue
A 1,200
B 900

Dieses Ergebnis ist nützlich, aber beachten Sie, was fehlt:

  • Individuell Die Tage sind weg
  • Sie können nicht sehen, wie sich der Umsatz im Laufe der Zeit verändert hat
  • Sie können keine Zeilen miteinander vergleichen

Sehen Sie sich nun das Ergebnis einer ähnlichen Berechnung mit einer Fensterfunktion an.

date product revenue running_total
2026-01-01 A 300 300
2026-01-02 A 400 700
2026-01-03 A 500 1,200
2026-01-01 B 200 200
2026-01-02 B 300 500
2026-01-03 B 400 900

Hier bleibt jede ursprüngliche Zeile erhalten, und es wird eine zusätzliche analytische Spalte hinzugefügt. Sie können sofort sehen:

  • Wie sich die Summen im Laufe der Zeit entwickeln
  • Wie jede Zeile zum Endergebnis beiträgt
  • Muster und Trends, die GROUP BY verborgen sind

Dies ist der zentrale Vorteil von Fensterfunktionen. Mit ihnen können Sie Ranglisten, laufende Summen und gleitende Durchschnitte berechnen, ohne Details auf Zeilenebene zu verlieren.

Wenn Sie bereits über grundlegende SQL-Kenntnisse verfügen – SELECT, WHERE, GROUP BYund JOIN – sind Fensterfunktionen der naheliegendste nächste Schritt für Analysen, Berichterstellung, Finanzen, Marketing-Leistungsanalysen und Produktdatenarbeit.

Woche 1: Lernen Sie die grundlegende Syntax und das mentale Modell

Das Ziel der ersten Woche ist es, das Konzept hinter Fensterfunktionen zu verstehen. Fensterfunktionen wirken vor allem deshalb einschüchternd, weil sie eine neue Syntax einführen. Sobald Sie das Konzept eines „Fensters” verstanden haben, wird alles andere einfacher.

Eine typische Fensterfunktion hat folgende Struktur:

function_name(column) OVER (...)

Das Schlüsselelement ist die OVER() Klausel. Sie definiert das Fenster, d. h. die Reihe von Zeilen, die die Funktion bei der Berechnung berücksichtigt.

Wenn Sie SUM(revenue) OVER()verwenden, ist das Fenster der gesamte Ergebnissatz. Die Funktion betrachtet alle Zeilen auf einmal.

date product revenue total_revenue
2026-01-01 A 300 1,200
2026-01-02 A 400 1,200
2026-01-03 B 500 1,200

Jede Zeile bleibt im Ergebnis erhalten, und neben jeder Zeile wird dieselbe Summe angezeigt. Auf diese Weise können Sie Verhältnisse berechnen, z. B. wie viel jede Zeile zum Gesamtumsatz beiträgt.

Wenn Sie SUM(revenue) OVER (PARTITION BY product)verwenden, umfasst das Fenster nicht mehr die gesamte Tabelle. Stattdessen erstellt SQL für jedes Produkt ein separates Fenster.

date product revenue product_total
2026-01-01 A 300 700
2026-01-02 A 400 700
2026-01-03 B 500 500

Hier werden die Zeilen logisch gruppiert, aber nicht zusammengefasst. Jede Zeile „sieht“ bei der Berechnung nur die Zeilen desselben Produkts.

Dies ist das zentrale mentale Modell von Fensterfunktionen. Sie definieren ein Fenster mit verwandten Zeilen, wenden eine Berechnung an und behalten alle ursprünglichen Zeilen im Ergebnis bei.

Woche 2: Reihenfolge und Vergleich von Zeilen

Sobald die Grundlagen klar sind, ist es an der Zeit, sich mit neuen Fensterfunktionen vertraut zu machen. Rangfunktionen sind in der Regel die erste Familie von Fensterfunktionen, die man lernt.

Diese Woche konzentrieren wir uns auf ROW_NUMBER(), RANK()und DENSE_RANK(). Diese Funktionen werden häufig für Ranglisten, Top-N-Abfragen und die Identifizierung von Duplikaten oder ersten Datensätzen innerhalb einer Gruppe verwendet.

Stellen Sie sich eine Tabelle mit dem Namen sales_summary mit dem Gesamtumsatz pro Produkt:

product revenue
A 1,000
B 1,000
C 800

Betrachten Sie nun die folgende Abfrage:

SELECT
  product,
  revenue,
  RANK() OVER (ORDER BY revenue DESC) AS revenue_rank
FROM sales_summary;

In dieser Abfrage basiert die Rangfolge auf der Spalte revenue Spalte. Die OVER (ORDER BY revenue DESC) -Klausel definiert das Fenster und die Reihenfolge, die nur für die Berechnung der Rangfolge verwendet werden, nicht für die Sortierung der endgültigen Ergebnismenge.

product revenue revenue_rank
A 1,000 1
C 800 3
B 1,000 1

Die Produkte A und B erhalten denselben Rang, da sie denselben Umsatz haben. Der nächste Rang ist 3, da RANK() bei Gleichständen Lücken hinterlässt. Beachten Sie, dass die Reihenfolge innerhalb von OVER() nur zur Berechnung der Rangfolge verwendet wird, nicht zur Anzeige der Ergebnisse.

Hier teilen sich die Produkte A und B denselben Rang, da sie denselben Umsatz haben. Der nächste Rang wird übersprungen, was genau dem RANK() sich verhält. Es gibt andere Ranking-Funktionen, die sich anders verhalten: Wenn Sie DENSE_RANK() verwenden, würde Produkt C den Rang 2 erhalten. Wenn Sie ROW_NUMBER()verwenden würden, würde jede Zeile eine eindeutige Nummer erhalten, auch wenn die Werte gleich sind. Der Grundgedanke bleibt derselbe: Die OVER (ORDER BY ...) -Klausel definiert das Fenster und die Reihenfolge, in der die Zeilen verglichen werden.

Sie arbeiten weiter mit dem Kurs Fensterfunktionen, insbesondere mit den Teilen 4 und 5, in denen Ranking-Funktionen anhand praktischer Beispiele ausführlich erklärt werden. Dies ist auch der richtige Zeitpunkt, um mit der Verwendung des SQL-Fensterfunktionen-Spickzettels zu beginnen. Der Spickzettel hilft Ihnen, sich schnell an die Syntax und das Verhalten der Funktionen zu erinnern, sodass Sie sich darauf konzentrieren können, zu verstehen, wann Sie welche Ranking-Funktion verwenden sollten, anstatt sich Details zu merken.

Woche 3: Laufende Summen und zeitbasierte Analysen

In Woche drei beginnen Fensterfunktionen sich wie echte Analysewerkzeuge anzufühlen. Hier lernen Sie, laufende Summen, kumulative Summen und gleitende Durchschnitte zu berechnen – Muster, die in der realen Datenarbeit ständig vorkommen.

Stellen Sie sich eine Tabelle mit den täglichen Einnahmen vor:

date revenue
2026-01-01 300
2026-01-02 400
2026-01-03 500

Um eine laufende Summe zu berechnen, können Sie die folgende Fensterfunktion verwenden:

SELECT 
  date, 
  revenue, 
  SUM(revenue) OVER (ORDER BY date) AS running_total 
FROM daily_sales;

Hier wird das Fenster durch ORDER BY date. Für jede Zeile betrachtet die Funktion alle Zeilen bis zum aktuellen Datum und berechnet die kumulierte Summe. Jede Zeile behält ihre ursprünglichen Daten, und die laufende Summe zeigt, wie sich die Werte im Laufe der Zeit akkumulieren. Mit Unterabfragen wäre dies schwierig und viel weniger lesbar zu erreichen.

date revenue running_total
2026-01-01 300 300
2026-01-02 400 700
2026-01-03 500 1,200

In dieser Woche geht es darum, zu verstehen, wie Aggregatfunktionen wie SUM() und AVG() verhalten, wenn sie als Fensterfunktionen verwendet werden, und wie sich die Sortierung von Zeilen nach Datum oder Reihenfolge auf das Ergebnis auswirkt.

Diese Muster werden häufig in der Finanzberichterstattung, der Analyse der Marketingleistung und bei Produktkennzahlen verwendet, wo Veränderungen im Laufe der Zeit eine Rolle spielen.

Sie fahren mit dem Kurs Fensterfunktionen” fort und konzentrieren sich dabei auf die Teile 6 und 7, in denen zeitbasierte Analysen und kumulative Berechnungen ausführlich erklärt werden. An dieser Stelle kommt es auch am meisten auf die Praxis an. Wiederholungen sind hier das Mittel, um Verständnis in echte, nutzbare Fähigkeiten umzuwandeln.

Woche 4: Kombinieren von „Fensterfunktionen” in realen Abfragen

In der letzten Woche geht es darum, alles zusammenzufügen. In realen Projekten werden Fensterfunktionen selten isoliert verwendet. Abfragen kombinieren oft Rankings, kumulative Berechnungen und Partitionen, was Klarheit und Struktur besonders wichtig macht.

In dieser Woche konzentrieren Sie sich darauf, Abfragen zu schreiben, die mehrere Fensterfunktionen verwenden, ohne dass sie schwer lesbar oder wartbar werden. Sie lernen, wie Sie Ranglistenfunktionen mit laufenden Summen kombinieren, wie Sie verschiedene Partitionen in derselben Abfrage anwenden und wie Sie häufige Fehler wie falsche Reihenfolgen innerhalb OVER() oder unnötigen Verschachtelungen.

Sie setzen den Kurs „Fensterfunktionen” fort und absolvieren die Teile 8, 9 und 10, in denen komplexere, realitätsnahe Muster behandelt werden. Das SQL-Fensterfunktionen-Spickzettel zu Ihrer täglichen Referenz beim Schreiben von Fensterfunktionsabfragen bei der Arbeit wird.

Für wen dieses Starterpaket geeignet ist

Dieser Plan ist ideal, wenn Sie bereits über grundlegende SQL-Kenntnisse verfügen und sich mehr mit analytischen Aufgaben befassen möchten. Er eignet sich für Datenanalysten, Marketingfachleute, Produktspezialisten und Entwickler, die mit Berichten oder Metriken arbeiten.

Wenn Sie noch keine Erfahrung mit SQL haben, sollten Sie besser mit den SQL-Grundlagen beginnen, bevor Sie sich mit Fensterfunktionen befassen.

Ihr Januar-Plan in einem Satz

Eine fortgeschrittene SQL-Fähigkeit, vier fokussierte Wochen und drei bewährte Ressourcen von „LearnSQL.de“.

Beginnen Sie mit dem Kurs „Fensterfunktionen“, halten Sie während des Lernens das Spickzettel offen. Bis Ende Januar werden Ihnen Fensterfunktionen nicht mehr fortgeschritten vorkommen – sie werden Ihnen ganz natürlich erscheinen.