Sdílet prostřednictvím


row_number()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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ů 1a 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