Die Over
-Klausel akzeptiert eine optionale Partition By
-Klausel, mit der die Sichtbarkeit der Fensterfunktion auf die Zeilen mit den „gleichen“ Werten in den Partition By-Ausdrücken eingeschränkt wird.
SELECT *, COUNT(*) OVER(PARTITION BY c1, c2)
FROM …
Liefert die unveränderte Tabelle mit einer weiteren Spalte, in der steht wie viele Zeilen es jeweils mit den „gleichen“ Werten in den Spalten c1
und c2
gibt.
In diesem Zusammenhang bedeutet „gleicher“ Wert dass sie im Sinne von is not distinct from
ununterscheidbar voneinander sind. Das heißt, dass Null
-Werte als „gleich“ angesehen werden – analog zur Group By
-Klausel.
SuSub-Klauseln
Nicht-Standard: over(range between…)
(Zeichenketten, mehrere Spalten)
Die Over
-Klausel, inklusive Partition By
, ist als Teil der optionalen Funktion T611, „Elementary OLAP operations“ in ISO/IEC 9075-2:2023 definiert.
20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.
Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how