row_number()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Retorna o índice da linha atual em um conjunto de linhas serializadas.
O índice de linha começa por padrão em 1
para a primeira linha e é incrementado por 1
para cada linha adicional.
Opcionalmente, o índice de linha pode começar com um valor diferente de 1
.
Além disso, o índice de linha pode ser redefinido de acordo com algum predicado fornecido.
Sintaxe
row_number(
[StartingIndex [,
Reiniciar]] )
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
Índice inicial | long |
O valor do índice de linha para iniciar ou reiniciar. O valor padrão é 1. | |
restart | bool |
Indica quando a numeração deve ser reiniciada para o valor StartingIndex . O padrão é false . |
Devoluções
A função retorna o índice de linha da linha atual como um valor do tipo long
.
Exemplos
O exemplo a seguir retorna uma tabela com duas colunas, a primeira coluna (a
) com números de 10
até 1
, e a segunda coluna (rn
) com números de 1
até 10
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()
O exemplo a seguir é semelhante ao anterior, apenas a segunda coluna (rn
) começa em 7
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)
O último exemplo mostra como se pode particionar os dados e numerar as linhas por cada partição. Aqui, particionamos os dados por 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)
A execução dessa consulta produz o seguinte resultado:
Aeroporto | Airline | Partidas | Rank |
---|---|---|---|
SEA | BA | 2 | 1 |
SEA | LH | 1 | 2 |
SEA | LY | 0 | 3 |
TLV | LY | 100 | 1 |
TLV | LH | 1 | 2 |