row_number()

Restituisce l'indice della riga corrente in un set di righe serializzato.

L'indice di riga inizia per impostazione predefinita 1 per la prima riga e viene incrementato per 1 ogni riga aggiuntiva. Facoltativamente, l'indice di riga può iniziare a un valore diverso da 1. Inoltre, l'indice di riga può essere reimpostato in base a alcuni predicati forniti.

Sintassi

row_number( [StartingIndex [,Restart]] )

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
StartingIndex long Valore dell'indice di riga da avviare o riavviare. Il valore predefinito è 1.
restart bool Indica quando la numerazione deve essere riavviata nel valore StartingIndex . Il valore predefinito è false.

Restituisce

La funzione restituisce l'indice di riga della riga corrente come valore di tipo long.

Esempio

Nell'esempio seguente viene restituita una tabella con due colonne, la prima colonna () con numeri da giù a e la seconda colonna (arn) con numeri fino 1 a 110:10

range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()

L'esempio seguente è simile al precedente, viene avviata 7solo la seconda colonna (rn):

range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)

L'ultimo esempio mostra come è possibile partizionare i dati e numerare le righe per ogni partizione. Di seguito vengono partizionato i dati in Airportbase a :

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)

L'esecuzione di questa query genera il risultato seguente:

Aeroporto Linea aerea Partenze Classifica
SEA BA 2 1
SEA LH 1 2
SEA LY 0 3
TLV LY 100 1
TLV LH 1 2