row_number()
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft 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 1
e 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 |