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.

PERCENT_RANK

Renvoie une valeur comprise entre 0.0 et 1.0 représentant le rang relatif de la ligne courante au sein de sa partition.

Malgré son nom, cette fonction renvoie une valeur égale à (rank - 1) / (partition-rows - 1), où rank est la valeur renvoyée par la fonction de fenêtrage intégrée RANK() et partition-rows est le nombre total de lignes de la partition. Si la partition ne contient qu'une seule ligne, cette fonction renvoie 0.0.

Voir aussi : [SELECT] [RANK] [CUME_DIST]


Syntaxe​

SELECT PERCENT_RANK() 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 PERCENT_RANK est appliquée à chaque partition séparément.

ORDER BY column Spécifie l'ordre dans lequel les rangs centiles sont calculés.

Valeur(s) renvoyée(s)​

Renvoie un nombre à virgule flottante compris entre 0.0 et 1.0 représentant le rang centile.


Exemples​

Calculer le rang centile des contributeurs​

-- Calculate percentile ranking of contributors
SELECT
login,
contributions,
PERCENT_RANK() OVER (ORDER BY contributions) as percentile,
CUME_DIST() OVER (ORDER BY contributions) as cumulative_dist
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql'
ORDER BY contributions DESC;
astuce

Une valeur PERCENT_RANK de 0.0 indique la ligne la moins bien classée, tandis que 1.0 indique la ligne la mieux classée. Utilisez cette fonction pour déterminer où se situe une valeur donnée au sein d'une distribution.

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