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 |