ROW_NUMBER, RANK, LAG, LEAD
Window Functions berechnen Werte über eine Menge von Zeilen, ohne das Ergebnis zu kollabieren. Rang, laufende Summe, Vorperioden-Vergleich – alles ohne korrelierte Subqueries oder Self-Joins.
Inhaltsverzeichnis
- 1. Aufbau der OVER()-Klausel
- 2. ROW_NUMBER, RANK, DENSE_RANK
- 3. LAG und LEAD: Vorherige und nächste Zeile
- 4. Laufende Summen und gleitende Durchschnitte
- 5. NTILE für Percentile-Buckets
- 6. FIRST_VALUE und LAST_VALUE
- 7. Frame-Spezifikation: ROWS vs. RANGE
- 8. Magento: Revenue-Ranking und Monatswachstum
- 9. Unterstützung
- 10. Zusammenfassung
- 11. FAQ
1. Aufbau der OVER()-Klausel
Das Herzstück jeder Window Function MySQL ist die OVER()-Klausel. Sie definiert das "Fenster" – also die Menge von Zeilen, über die die Funktion berechnet wird. Ohne OVER() ist eine Aggregatfunktion wie SUM() oder COUNT()