ROW_NUMBER (Deutsch)
Syntax
  
 
Beschreibung der Abbildung row_number.gif
Informationen zu Syntax, Semantik und Einschränkungen finden Sie unter:
„Analysefunktionen“
Zweck
 ROW_NUMBER ist eine Analysefunktion. Es weist jeder Zeile, auf die es angewendet wird (entweder jeder Zeile in der Partition oder jeder von der Abfrage zurückgegebenen Zeile), eine eindeutige Nummer in der geordneten Reihenfolge von Zeilen zu, die in order_by_clause angegeben ist , beginnend mit 1. 
 Durch Verschachteln einer Unterabfrage mit ROW_NUMBER in einer Abfrage, die die ROW_NUMBER -Werte für a abruft Im angegebenen Bereich finden Sie eine genaue Teilmenge der Zeilen aus den Ergebnissen der inneren Abfrage. Mit dieser Funktion können Sie Top-N-, Bottom-N- und Inner-N-Berichte implementieren. Für konsistente Ergebnisse muss die Abfrage eine deterministische Sortierreihenfolge sicherstellen. 
 Sie können ROW_NUMBER oder eine andere Analysefunktion für expr. Das heißt, Sie können keine Analysefunktionen verschachteln, aber Sie können andere integrierte Funktionsausdrücke für expr verwenden. Informationen zu gültigen Formularen von expr finden Sie unter „Informationen zu SQL-Ausdrücken“. 
Beispiele
 Für jede Abteilung in der Beispieltabelle oe.employees Im folgenden Beispiel werden jeder Zeile Nummern in der Reihenfolge des Einstellungsdatums des Mitarbeiters zugewiesen: 
 ROW_NUMBER ist a Nicht deterministische Funktion. employee_id ist jedoch ein eindeutiger Schlüssel, sodass die Ergebnisse dieser Anwendung der Funktion deterministisch sind. 
Siehe auch:
FIRST_VALUE und LAST_VALUE für Beispiele für nicht deterministisches Verhalten
 Die folgende Abfrage mit innerem N wählt alle Zeilen aus der Tabelle employees aus, gibt jedoch nur die einundfünfzigsten bis eins zurück Hundertste Zeile: 
SELECT last_name FROM (SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R FROM employees) WHERE R BETWEEN 51 and 100;