Berechnet den Rang eines Wertes in einer Gruppe von Werten. Im Fall von Gleichwertigkeit bewirkt die RANK-Funktion eine Lücke in der Rangfolgesequenz.
RANK( ) OVER ( Fensterspezifikation )
Fensterspezifikation: Weitere Hinweise finden Sie im folgenden Abschnitt "Bemerkungen".
INTEGER
Elemente von Fensterspezifikation können in der Funktionssyntax (Inline) oder zusammen mit einer WINDOW-Klausel in der SELECT-Anweisung angegeben werden. Wenn sie als eine Fensterfunktion verwendet wird, müssen Sie eine ORDER BY-Klausel angeben und können eine PARTITION BY-Klausel angeben. Allerdings dürfen Sie keine ROWS- oder RANGE-Klausel angeben. Siehe Fensterspezifikation-Definition unter WINDOW-Klausel.
Weitere Hinweise zur Verwendung von Fensterfunktionen in SELECT-Anweisungen mit Arbeitsbeispielen finden Sie unter Fensterfunktionen.
Weitere Hinweise zum Angeben einer Fensterspezifikation in einer OVER-Klausel finden Sie unter Fensterdefinition: Inlining unter Verwendung der Klauseln OVER und WINDOW.
SQL/2008 Die RANK-Funktion ist Teil der optionalen SQL/2008-Sprachenfunktion T612, "Erweiterte OLAP-Vorgänge".
Das folgende Beispiel liefert eine Rangordnung der Gehälter von Mitarbeitern in Utah und New York in absteigender Reihenfolge. Beachten Sie, dass der 7. und 8. Mitarbeiter das gleiche Gehalt beziehen und sich daher den 7. Rang teilen. Der darauf folgende Mitarbeiter erhält den 9. Rang, wodurch eine Lücke in der Rangfolgensequenz entsteht (kein 8. Rang).
SELECT Surname, Salary, State, RANK() OVER (ORDER BY Salary DESC) "Rank" FROM Employees WHERE State IN ('NY','UT'); |
Surname | Salary | State | Rank |
---|---|---|---|
Shishov | 72.995,000 | UT | 1 |
Wang | 68.400,000 | UT | 2 |
Cobb | 62.000,000 | UT | 3 |
Morris | 61.300,000 | UT | 4 |
Davidson | 57.090,000 | NY | 5 |
Martel | 55.700,000 | NY | 6 |
Blaikie | 54.900,000 | NY | 7 |
Diaz | 54900.000 | NY | 7 |
Driscoll | 48023.690 | UT | 9 |
Hildebrand | 45.829,000 | UT | 10 |
Whitney | 45.700,000 | NY | 11 |
... | ... | ... | ... |
Lynch | 24.903,000 | UT | 19 |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |