PERCENT_ fonction RANK de fenêtre - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

PERCENT_ fonction RANK de fenêtre

Calcule le rang en pourcentage d’une ligne donnée. Le rang en pourcentage est déterminé à l’aide de la formule suivante :

(x - 1) / (the number of rows in the window or partition - 1)

x est le rang de la ligne actuelle. Le jeu de données suivant illustre l’utilisation de cette formule :

Row# Value Rank Calculation PERCENT_RANK 1 15 1 (1-1)/(7-1) 0.0000 2 20 2 (2-1)/(7-1) 0.1666 3 20 2 (2-1)/(7-1) 0.1666 4 20 2 (2-1)/(7-1) 0.1666 5 30 5 (5-1)/(7-1) 0.6666 6 30 5 (5-1)/(7-1) 0.6666 7 40 7 (7-1)/(7-1) 1.0000

La plage de valeur de retour est comprise entre 0 et 1, inclus. La première ligne d'un ensemble possède un PERCENT _ égal RANK à 0.

Syntaxe

PERCENT_RANK () OVER ( [ PARTITION BY partition_expression ] [ ORDER BY order_list ] )

Arguments

( )

La fonction ne prend pas d’arguments, mais les parenthèses vides sont obligatoires.

OVER

Clause qui spécifie le partitionnement de fenêtrage. La OVER clause ne peut pas contenir de spécification de cadre de fenêtre.

PARTITIONPAR partition_expression

Facultatif. Expression qui définit la plage d'enregistrements pour chaque groupe de la OVER clause.

ORDERPAR order_list

Facultatif. Expression permettant de calculer le rang en pourcentage. L’expression doit disposer d’un type de données numériques ou être convertible implicitement en une. Si ORDER BY est omis, la valeur renvoyée est 0 pour toutes les lignes.

Si ORDER BY ne produit pas d'ordre unique, l'ordre des lignes n'est pas déterministe. Pour de plus amples informations, veuillez consulter Ordonnancement unique des données pour les fonctions de fenêtrage.

Type de retour

FLOAT8

Exemples

L’exemple suivant calcule le rang en pourcentage des volumes de ventes de chaque vendeur :

select sellerid, qty, percent_rank() over (partition by sellerid order by qty) from winsales; sellerid qty percent_rank ---------------------------------------- 1 10.00 0.0 1 10.64 0.5 1 30.37 1.0 3 10.04 0.0 3 15.15 0.33 3 20.75 0.67 3 30.55 1.0 2 20.09 0.0 2 20.12 1.0 4 10.12 0.0 4 40.23 1.0

Pour une description du WINSALES tableau, voirExemple de tableau contenant des exemples de fonctions de fenêtrage.