Ordnet jeder Zeile eine eindeutige Nummer zu. Verwenden Sie diese Funktion statt der NUMBER-Funktion.
ROW_NUMBER( ) OVER ( window-spec )
Fensterspezifikation: Weitere Hinweise finden Sie im folgenden Abschnitt "Bemerkungen".
INTEGER
Elemente von Fensterspezifikation können entweder in der Funktionssyntax (inline) oder mit einer WINDOW-Klausel in der SELECT-Anweisung angegeben werden. Bei Verwendung als Fensterfunktion müssen Sie eine ORDER BY-Klausel angeben und dürfen eine PARTITION BY-Klausel angeben, können jedoch keine ROWS- oder RANGE-Klausel angeben. Weitere Hinweise finden Sie unter der Fensterspezifikation-Definition für die 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 ROW_NUMBER ist Teil der optionalen SQL/2008-Sprachenfunktion T611, "Elementare OLAP-Vorgänge".
Die folgende Anweisung gibt eine Ergebnismenge zurück, die für jeden Mitarbeiter in New York und Utah eine eindeutige Zeilennummer liefert. Da die Abfrage anhand des Gehalts (salary) in absteigender Sortierfolge sortiert ist, erhält der Mitarbeiter mit dem höchsten Gehalt in der Datenmenge die erste Zeilennummer. Obwohl zwei Mitarbeiter die gleichen Gehälter beziehen, entsteht keine Gleichwertigkeit, weil den beiden Mitarbeitern eindeutige Zeilennummern zugeordnet sind.
SELECT Surname, Salary, State, ROW_NUMBER() OVER (ORDER BY Salary DESC) "Rank" FROM GROUPO.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 | 8 |
Driscoll | 48023.690 | UT | 9 |
Hildebrand | 45829.000 | UT | 10 |
... | ... | ... | ... |
Lynch | 24903.000 | UT | 19 |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |