RANK |
Rang |
|---|---|
| Oracle Database SQL | Oracle 8i (8.1.6) ou supérieure |
Syntaxe
| rank(expression1,...,expressionN) |
Paramètres
| Nom | Description |
|---|---|
| expression1 | Ce paramètre permet d'indiquer la première expression correspondant au nombre à traiter |
| ...,expressionN | Ces paramètres permettent d'indiquer les autres expressions correspondant au nombre à traiter |
Description
Cette fonction retourne le rang d'une valeur d'un groupe de valeur.
Remarques
- La fonction RANK permet de calculer le rang d'une valeur dans un groupe de valeurs ordonnées, en attribuant des rangs identiques aux valeurs égales, ce qui signifie que des valeurs ex æquo auront le même rang.
- Cette fonction est particulièrement utile pour analyser des données où il est important de connaître la position relative d'un élément dans un classement, comme dans les compétitions ou les rapports financiers.
- Contrairement à la fonction DENSE_RANK, RANK saute des rangs lorsqu'il y a des ex aequo. Par exemple, si deux lignes sont à la première position, la suivante aura le rang 3, pas 2.
- Le résultat de RANK est un nombre entier représentant la position de la ligne dans l'ensemble ordonné, ce qui facilite la segmentation et le filtrage des données selon leur position.
- Elle est souvent utilisée avec la clause OVER() et peut inclure un partitionnement des données via PARTITION BY pour calculer les rangs dans des sous-ensembles indépendants.
- La fonction prend en paramètre une ou plusieurs expressions, généralement des colonnes numériques ou des colonnes qui peuvent être ordonnées, comme des dates ou des chaînes de caractères.
- Le tri est défini dans la clause ORDER BY incluse dans la clause OVER(), ce qui permet de spécifier l'ordre croissant ou décroissant selon la logique métier.
- RANK est fréquemment utilisée dans des analyses statistiques, comme le calcul de percentiles, ou dans les rapports où le classement est clé, par exemple pour afficher les meilleurs vendeurs ou les clients les plus rentables.
- Cette fonction est déterministe, ce qui signifie que pour un ensemble de données donné, les rangs attribués seront toujours les mêmes, garantissant la reproductibilité des résultats.
- Son utilisation nécessite souvent une compréhension claire du concept d'ex æquo et de l'impact sur les rangs qui suivent, car cela peut influencer les décisions prises à partir des données.
- La fonction est intégrée dans Oracle depuis la version 8i, ce qui montre son ancienneté et son importance dans la manipulation analytique des données relationnelles.
- Enfin, la fonction RANK est très performante et optimisée dans Oracle, même sur de grands ensembles de données, surtout lorsqu'elle est combinée avec des index appropriés et des partitions.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015