Fenster-Rangfunktionen liefern den Rang einer Zeile in Relation zu den anderen Zeilen einer Partition. Die unterstützten Rangfunktionen lauten:
Rangfunktionen werden nicht als Aggregatfunktionen angesehen, da sie kein Ergebnis aus mehreren Eingabezeilen berechnen wie beispielsweise die SUM-Aggregatfunktion. Diese Funktionen berechnen den Rang oder die relative Sortierung einer Zeile innerhalb einer Partition aufgrund des Wertes eines bestimmten Ausdrucks. Jede Gruppe von Zeilen innerhalb einer Partition wird unabhängig von den anderen Gruppen nach Rang sortiert. Falls die OVER-Klausel keine PARTITION BY-Klausel enthält, wird die gesamte Eingabe als eine einzige Partition behandelt. Sie können daher keine ROWS- oder RANGE-Klausel für ein Fenster spezifizieren, das von einer Rangfunktion verwendet wird. Es ist möglich, eine Abfrage zu bilden, die mehrere Rangfunktionen enthält, von denen jede einzelne die Eingabezeilen unterschiedlich partitioniert oder sortiert.
Alle Rangfunktionen benötigen eine ORDER BY-Klausel, um die Reihenfolge der Eingabezeilen festzulegen, von der die Rangfunktionen abhängig sind. Falls die ORDER BY-Klausel mehrere Ausdrücke enthält, werden der zweite und die folgenden Ausdrücke benutzt, um Gleichwertigkeiten aufzulösen, falls der erste Ausdruck den gleichen Wert in angrenzenden Zeilen ergibt. NULL steht vor allen anderen Werten (bei aufsteigender Sortierfolge).
RANK-Funktion
DENSE_RANK-Funktion
CUME_DIST-Funktion
PERCENT_RANK-Funktion
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |