row_number()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Retourne l’index de la ligne actuelle dans un jeu de lignes sérialisé.
L’index de ligne démarre par défaut pour 1
la première ligne et est incrémenté par 1
chaque ligne supplémentaire.
Si vous le souhaitez, l’index de ligne peut commencer à une valeur différente de celle de 1
.
En outre, l’index de ligne peut être réinitialisé en fonction de certains prédicats fournis.
Syntaxe
row_number(
[StartingIndex [,
Restart]] )
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
StartingIndex | long |
Valeur de l’index de ligne à démarrer ou redémarrer. La valeur par défaut est 1. | |
restart | bool |
Indique quand la numérotation doit être redémarrée vers la valeur StartingIndex . Par défaut, il s’agit de false . |
Retours
La fonction retourne l’index de ligne de la ligne actuelle sous forme de valeur de type long
.
Exemples
L’exemple suivant retourne une table avec deux colonnes, la première colonne (a
) avec des nombres de 10
bas en bas et 1
la deuxième colonne (rn
) avec des nombres allant jusqu’à 1
10
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number()
L’exemple suivant est similaire à celui ci-dessus, seule la deuxième colonne (rn
) commence à 7
:
range a from 1 to 10 step 1
| sort by a desc
| extend rn=row_number(7)
Le dernier exemple montre comment il est possible de partitionner les données et de numéroter les lignes par partition. Ici, nous partitionnementons les données par 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’exécution de cette requête produit le résultat suivant :
Aéroport | Airline | Départs | Rank |
---|---|---|---|
SEA | BA | 2 | 1 |
SEA | LH | 1 | 2 |
SEA | LY | 0 | 3 |
TLV | LY | 100 | 1 |
TLV | LH | 1 | 2 |