Aller au contenu principal
Page traduite

Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.

ROW_NUMBER

Renvoie le numéro de la ligne au sein de la partition courante. Les lignes sont numérotées à partir de 1 dans l'ordre défini par la clause ORDER BY de la définition de la fenêtre, ou dans un ordre arbitraire sinon.

Voir aussi : [SELECT] [RANK] [DENSE_RANK]


Syntaxe​

SELECT ROW_NUMBER() OVER ([PARTITION BY column] ORDER BY column [ASC|DESC])
FROM <multipartIdentifier>;

Arguments​

PARTITION BY column Facultatif. Divise le jeu de résultats en partitions. La fonction ROW_NUMBER est appliquée à chaque partition séparément et réinitialise le numéro de ligne pour chaque partition.

ORDER BY column Spécifie l'ordre dans lequel les numéros de ligne sont attribués. Obligatoire pour obtenir des résultats pertinents.

Valeur(s) renvoyée(s)​

Renvoie un entier représentant le numéro de ligne séquentiel au sein de la partition, à partir de 1.


Exemples​

Classer les contributeurs au sein d'un dépôt​

-- Rank contributors within a repository
SELECT
login,
contributions,
ROW_NUMBER() OVER (ORDER BY contributions DESC) as contribution_rank
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';

Suivre la séquence des issues dans le temps​

-- Track issue growth over time
SELECT
number,
title,
state,
created_at,
ROW_NUMBER() OVER (ORDER BY created_at) as issue_sequence
FROM github.issues.issues
WHERE owner = 'stackql'
AND repo = 'stackql'
ORDER BY created_at;

Comparer ROW_NUMBER avec RANK et DENSE_RANK​

-- Compare RANK vs DENSE_RANK vs ROW_NUMBER for contributors
SELECT
login,
contributions,
RANK() OVER (ORDER BY contributions DESC) as rank,
DENSE_RANK() OVER (ORDER BY contributions DESC) as dense_rank,
ROW_NUMBER() OVER (ORDER BY contributions DESC) as row_num
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';

Pour plus d'informations, consultez https://sqlite.org/windowfunctions.html#built-in_window_functions.