Berechnet den Rang eines Werts in einer Partition. Im Fall von gebundenen Werten verhindert die DENSE_RANK-Funktion Lücken in der Rangfolge-Sequenz.
DENSE_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. 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.
SQL/2003 SQL/OLAP-Funktion T612.
Das folgende Beispiel gibt eine Ergebnismenge zurück, die die Rangfolge der Gehälter von Mitarbeitern in Utah und New York liefert. Auch wenn 19 Datensätze in der Ergebnismenge zurückgegeben werden, sind nur 18 Ränge angeführt, weil der 7. Rang vom 7. und 8. Mitarbeiter, die beide das gleiche Gehalt erhalten, geteilt wird. Der 9. Mitarbeiter wird nicht an 9., sondern an 8. Stelle aufgereiht, weil die DENSE_RANK-Funktion Lücken in der Rangfolge verhindert.
SELECT DepartmentID, Surname, Salary, State, DENSE_RANK() OVER (ORDER BY Salary DESC) AS SalaryRank FROM Employees WHERE State IN ('NY','UT'); |
Die Ergebnismenge sieht folgendermaßen aus:
DepartmentID | Surname | Salary | State | SalaryRank |
---|---|---|---|---|
100 | Shishov | 72.995,000 | UT | 1 |
100 | Wang | 68.400,000 | UT | 2 |
100 | Cobb | 62.000,000 | UT | 3 |
400 | Morris | 61.300,000 | UT | 4 |
300 | Davidson | 57.090,000 | NY | 5 |
200 | Martel | 55.700,000 | NY | 6 |
100 | Blaikie | 54.900,000 | NY | 7 |
400 | Diaz | 54.900,000 | UT | 7 |
100 | Driscoll | 48.023,000 | UT | 8 |
400 | Hildebrand | 45.829,000 | UT | 9 |
100 | Whitney | 45.700,000 | NY | 10 |
100 | Guevara | 42.998,000 | NY | 11 |
100 | Soo | 39.075,000 | NY | 12 |
200 | Goggin | 37.900,000 | UT | 13 |
400 | Wetherby | 35.745,000 | NY | 14 |
400 | Ahmed | 34.992,000 | NY | 15 |
500 | Rebeiro | 34.576,000 | UT | 16 |
300 | Bigelow | 31.200,000 | UT | 17 |
500 | Lynch | 24.903,000 | UT | 18 |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |