- Nur mit
Unboundedundcurrent row— nicht wie unten gezeigt mit einem Intervall als Distanz - Alternative: Da numerische Distanzen funktionieren kann man die Zeitangabe in eine Zahl konvertieren und damit arbeiten
Die Over-Klausel akzeptiert eine Range-Rahmen, mit dem die Sichtweite der Fensterfunktion relativ zur aktuellen auf Basis einer Differenz der Sortierwerte eingeschränkt wird.
SELECT *, COUNT(*) OVER(ORDER BY dt
RANGE BETWEEN INTERVAL '1' DAY PRECEDING
AND CURRENT ROW)
FROM …Liefert eine zusätzliche Spalte, die die Anzahl der Zeilen enthält deren Spalte dt zwischen einem Tag vor dem der aktuellen Zeile liegt (interval '1' day preceding) und der letzten Zeile die den selben Wert in der Spalte dt hat (current row).
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.
Beachte, dass es Systeme gibt die Over(… Range Between …) mit numerischen Typen unterstützen, nicht aber mit Zeitangaben (temporale Typen).
Weiterführende Links
Sub-Klauseln:
Nicht-Standard Varianten:
over(range between…)(Zeichenketten, mehrere Spalten)
Normative Referenzen
Die Over-Klausel, inklusive Range Between mit temporalen Sortierschlüsseln, ist als teil der optionalen Funktion T611, „Elementary OLAP operations“ in ISO/IEC 9075-2:2023 definiert.

