Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (P-Z)

 

RANK-Funktion [Rangfolge]

Berechnet den Rang eines Wertes in einer Gruppe von Werten. Im Fall von Gleichwertigkeit bewirkt die RANK-Funktion eine Lücke in der Rangfolgesequenz.

Syntax
RANK( ) OVER ( Fensterspezifikation )
Fensterspezifikation: Weitere Hinweise finden Sie im folgenden Abschnitt "Bemerkungen".
Rückgabe

INTEGER

Bemerkungen

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. Weitere Hinweise finden Sie unter der Fensterspezifikation-Definition unter WINDOW-Klausel.

Weitere Hinweise zur Verwendung von Fensterfunktionen in SELECT-Anweisungen mit Arbeitsbeispielen finden Sie unter Fensterfunktionen.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   SQL/OLAP-Funktion T612.

Beispiel

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 72995.000 UT 1
Wang 68400.000 UT 2
Cobb 62000.000 UT 3
Morris 61300.000 UT 4
Davidson 57090.000 NY 5
Martel 55700.000 NY 6
Blaikie 54900.000 NY 7
Diaz 54900.000 NY 7
Driscoll 48023.690 UT 9
Hildebrand 45829.000 UT 10
Whitney 45700.000 NY 11
... ... ... ...
Lynch 24903.000 UT 19