Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
返回序列化行集中当前行的索引。
默认情况下,第一行的行索引从 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 | 航空公司 | Departures | 排名 |
|---|---|---|---|
| SEA | BA | 2 | 1 |
| SEA | LH | 1 | 2 |
| SEA | LY | 0 | 3 |
| TLV | LY | 100 | 1 |
| TLV | LH | 1 | 2 |