row_number()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vrátí index aktuálního řádku v serializované sadě řádků.
Index řádku začíná ve výchozím nastavení 1
pro první řádek a pro každý další řádek se zvýší 1
.
Volitelně může index řádku začínat jinou hodnotou než 1
.
Index řádku se navíc může resetovat podle některých zadaných predikátů.
Syntaxe
row_number(
[StartingIndex [,
Restart]] )
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
StartingIndex | long |
Hodnota indexu řádku, kterou chcete spustit nebo restartovat. Výchozí hodnota je 1. | |
restartovat | bool |
Určuje, kdy je číslování restartováno na hodnotu StartingIndex . Výchozí hodnota je false . |
Návraty
Funkce vrátí index řádku aktuálního řádku jako hodnotu typu long
.
Příklady
Následující příklad vrátí tabulku se dvěma sloupci, prvním sloupcem (a
) s čísly shora 10
dolů 1
a druhým sloupcem (rn
) s čísly z 1
nahoru na 10
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()
Následující příklad je podobný výše, pouze druhý sloupec (rn
) začíná na 7
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)
Poslední příklad ukazuje, jak lze data rozdělit a očíslovat řádky pro každý oddíl. Tady rozdělíme data podle 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)
Spuštěním tohoto dotazu vznikne následující výsledek:
Letiště | Letecká společnost | Odlety | Rank |
---|---|---|---|
SEA | BA | 2 | 0 |
SEA | LH | 1 | 2 |
SEA | LY | 0 | 3 |
TLV | LY | 100 | 0 |
TLV | LH | 1 | 2 |