row_number()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Gibt den Index der aktuellen Zeile in einem serialisierten Zeilensatz zurück.
Der Zeilenindex beginnt standardmäßig bei 1
der ersten Zeile und wird für 1
jede zusätzliche Zeile erhöht.
Optional kann der Zeilenindex mit einem anderen Wert als 1
beginnen.
Darüber hinaus kann der Zeilenindex gemäß einigen bereitgestellten Prädikaten zurückgesetzt werden.
Syntax
row_number(
[StartingIndex [,
Restart]])
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
StartingIndex | long |
Der Wert des Zeilenindex, der bei oder neu gestartet werden soll. Der Standardwert ist 1. | |
restart | bool |
Gibt an, wann die Nummerierung neu auf den StartingIndex-Wert gestartet werden soll. Der Standardwert ist false . |
Gibt zurück
Die Funktion gibt den Zeilenindex der aktuellen Zeile als Wert des Typs long
zurück.
Beispiele
Das folgende Beispiel gibt eine Tabelle mit zwei Spalten zurück, die erste Spalte (a
) mit Zahlen von 10
unten nach 1
unten und die zweite Spalte (rn
) mit Zahlen von 1
bis zu 10
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()
Das folgende Beispiel ähnelt der obigen, nur die zweite Spalte (rn
) beginnt bei 7
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)
Das letzte Beispiel zeigt, wie die Daten partitionieren und die Zeilen pro Partition nummerieren können. Hier partitionieren wir die Daten nach Airport
:
datatable (Airport:string, Airline:string, Departures:long)
[
"TLV", "LH", 1,
"TLV", "LY", 100,
"SEA", "LH", 1,
"SEA", "BA", 2,
"SEA", "LY", 0
]
| sort by Airport asc, Departures desc
| extend Rank=row_number(1, prev(Airport) != Airport)
Wenn Sie diese Abfrage ausführen, wird das folgende Ergebnis erzeugt:
Flughafen | Airline | Abflug | Rang |
---|---|---|---|
SEA | BA | 2 | 1 |
SEA | LH | 1 | 2 |
SEA | LY | 0 | 3 |
TLV | LY | 100 | 1 |
TLV | LH | 1 | 2 |