row_number()
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
シリアル化された行セット 内の現在の行のインデックスを返します。
行インデックスは最初の行でデフォルトにより 1
から開始され、追加の行ごとに 1
によってインクリメントされます。
必要に応じて、行インデックスは 1
とは異なる値から開始できます。
さらに、指定された述語に従って行インデックスをリセットできます。
構文
row_number(
[StartingIndex [,
Restart]] )
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
StartingIndex | long |
開始位置または再起動先の行インデックスの値。 既定値は 1です。 | |
restart | bool |
StartingIndex 値への番号付けを再開するタイミングを示します。 既定値は、false です。 |
返品
関数は、現在の行の行インデックスを型 long
の値として返します。
例
次の例では、1 番目の列 (a
) には、10
から 最小1
までの数値が含まれ、2 番目の列 (rn
) には、1
から 最大 10
までの数値が含まれている、2 つの列を含むテーブルを返します。
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()
次の例は上記と似ていますが、2 番目の列 (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)
このクエリを実行することで、次の結果が生成されます。
空港 | 航空会社 | 出発 | 順位 |
---|---|---|---|
SEA | BA | 2 | 1 |
SEA | LH | 1 | 2 |
SEA | LY | 0 | 3 |
TLV | LY | 100 | 1 |
TLV | LH | 1 | 2 |