row_number()
Returnerar den aktuella radens index i en serialiserad raduppsättning.
Radindexet börjar som standard på 1
för den första raden och ökas med 1
för varje ytterligare rad.
Du kan också starta radindexet med ett annat värde än 1
.
Dessutom kan radindexet återställas enligt vissa angivna predikat.
Syntax
row_number(
[StartingIndex [,
Restart]] )
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
StartingIndex | long |
Värdet för radindexet som ska startas vid eller startas om till. Standardvärdet är 1. | |
Starta | bool |
Anger när numreringen ska startas om till värdet StartingIndex . Standardvärdet är false . |
Returer
Funktionen returnerar radindexet för den aktuella raden som ett värde av typen long
.
Exempel
I följande exempel returneras en tabell med två kolumner, den första kolumnen (a
) med tal från 10
ned till 1
och den andra kolumnen (rn
) med tal från 1
upp till 10
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()
Följande exempel liknar ovanstående, endast den andra kolumnen (rn
) börjar på 7
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)
Det sista exemplet visar hur man kan partitioneras data och numrera raderna per varje partition. Här partitioneras data Airport
med :
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)
När du kör den här frågan får du följande resultat:
Flygplats | Flygbolag | Avgångar | Rangordning |
---|---|---|---|
HAVET | BA | 2 | 1 |
HAVET | LH | 1 | 2 |
HAVET | LY | 0 | 3 |
TLV | LY | 100 | 1 |
TLV | LH | 1 | 2 |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för