Freigeben über


row_number()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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 1beginnen. 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 longzurück.

Beispiele

Das folgende Beispiel gibt eine Tabelle mit zwei Spalten zurück, die erste Spalte (a) mit Zahlen von 10 unten nach 1unten 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