共用方式為


row_number()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

傳回串行化數據列集中目前數據列的索引

資料列索引預設會從 第一個資料列的 開始 1 ,並且會針對每個額外的數據列遞增 1 。 或者,數據列索引可以從 與 1不同的值開始。 此外,數據列索引可能會根據一些提供的述詞重設。

語法

row_number( [StartingIndex [, Restart]] )

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
StartingIndex long 要開始或重新啟動的數據列索引值。 預設值是 1秒。
restart bool 指出何時將編號重新啟動至 StartingIndex 值。 預設值為 false

傳回

函式會傳回目前數據列的數據列索引做為 類型的 long值。

範例

下列範例會傳回具有兩個數據行的數據表,第一個數據行 (a) 的數位從 10 向下到 1,而第二個數據行 (rn) 則傳回最多為 1 10的數位:

range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()

下列範例與上述類似,只有第二個數據行 (rn) 從 開始 7

range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)

最後一個範例示範如何分割數據,併為每個數據分割編號數據列。 在這裡,我們會依 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)

執行此查詢會產生下列結果:

Airport 航空業 出發 順位
SEA 波士尼亞與赫塞哥維納 2 1
SEA LH 1 2
SEA LY 0 3
TLV LY 100 1
TLV LH 1 2