row_number()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Devuelve el índice de la fila actual en un conjunto de filas serializado.
El índice de fila comienza de forma predeterminada en 1
para la primera fila y se incrementa por 1
cada fila adicional.
Opcionalmente, el índice de fila puede iniciarse en un valor diferente al 1
de .
Además, el índice de fila se puede restablecer según algún predicado proporcionado.
Sintaxis
row_number(
[StartingIndex [,
Restart]] )
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
StartingIndex | long |
Valor del índice de fila al que se va a iniciar o reiniciar. El valor predeterminado es 1. | |
restart | bool |
Indica cuándo se va a reiniciar la numeración en el valor StartingIndex . El valor predeterminado es false . |
Devoluciones
La función devuelve el índice de fila de la fila actual como un valor de tipo long
.
Ejemplos
En el ejemplo siguiente se devuelve una tabla con dos columnas, la primera columna (a
) con números de 10
abajo a 1
y la segunda columna (rn
) con números de 1
hasta 10
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()
El ejemplo siguiente es similar al anterior, solo la segunda columna (rn
) comienza en 7
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)
En el último ejemplo se muestra cómo se pueden particionar los datos y numerar las filas por cada partición. Aquí particionamos los datos 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)
La ejecución de esta consulta genera el siguiente resultado:
Airport | Airline | Departures | Rango |
---|---|---|---|
SEA | BA | 2 | 1 |
SEA | LH | 1 | 2 |
SEA | LY | 0 | 3 |
TLV | LY | 100 | 1 |
TLV | LH | 1 | 2 |