次の方法で共有


row_number()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft 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