Compartir vía


row_number()

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 1de . 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 1y 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