Die Over-Klausel kennt die Groups-Rahmung, welche die Sichtweite der Fensterfunktion auf Basis der Anzahl der verschiedenen Werte relativ zur aktuellen Zeile einschränkt.
SELECT *, COUNT(*) OVER(ORDER BY val
GROUPS BETWEEN 1 PRECEDING
AND CURRENT ROW)
FROM …Der Groups-Rahmen spezifiziert jene Zeilen die entsprechend der Order By-Klausel zwischen einen anderen Wert davor liegen (1 preceding) und allen Zeilen mit dem Sortierschlüssel der aktuellen Zeile liegen (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.
Weiterführende Links
Sub-Klauseln:
Nicht-Standard Varianten:
over(range between…)(Zeichenketten, mehrere Spalten)
Normative Referenzen
Die Groups-Rahmung ist als optionale Funktion T620, „WINDOW clause: GROUPS option“ in ISO/IEC 9075-2:2023 definiert.

