Die Over-Klausel akzeptiert eine Rows-Rahmung, welche die Sichtweite der Fensterfunktion auf eine Zeilenzahl vor und nach der aktuellen Zeile einschränkt.
SELECT *, COUNT(*) OVER(ORDER BY c1
ROWS BETWEEN UNBOUNDED PRECEDING
AND CURRENT ROW)
FROM …Liefert eine zusätzliche Spalte, mit der Anzahl der Zeilen zwischen dem Anfang des Ergebnisses (entsprechend der Order By-Klausel in Over) und der aktuellen Zeile – analog zu Row_Number().
Für ein sinnvolle Rahmung benötigt man in der Over-Klausel eine Order By-Klausel. Beachte, dass diese Order By-Klausel die Reihenfolge der Zeilen im Ergebnis nicht festlegt. Wenn man das Ergebnis in derselben Reihenfolge braucht, muss man auch noch eine entsprechende Order By-Klausel auf der äußerste Abfrageebene verwenden.
Weiterführende Links
Sub-Klauseln:
Nicht-Standard:
over(range between…)(Zeichenketten, mehrere Spalten)
Normative Referenzen
Die Over-Klausel, inklusive Rows Between, ist als Teil der optionale Funktion T611, „Elementary OLAP operations“ in ISO/IEC 9075-2:2023 definiert.

