Condividi tramite


row_number()

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft Sentinel

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

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

Sintassi

row_number( [StartingIndex [, Restart]] )

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
StartingIndex long Valore dell'indice di riga in cui iniziare o riavviare. Il valore predefinito è 1.
restart bool Indica quando la numerazione deve essere riavviata sul valore StartingIndex . Il valore predefinito è false.

Valori restituiti

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

Esempi

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

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

L'esempio seguente è simile a quello precedente, solo la seconda colonna (rn) inizia da 7:

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. In questo caso, i dati vengono partizionato in base a 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)

L'esecuzione di questa query produce il risultato seguente:

Airport Airline Partenze Classifica
SEA BA 2 1
SEA LH 1 2
SEA LY 0 3
TLV LY 100 1
TLV LH 1 2