Catégories :

Fonctions de fenêtre (Classement)

CUME_DIST

Trouve la distribution cumulative d’une valeur par rapport à d’autres valeurs dans la même partition de fenêtre.

Syntaxe

CUME_DIST() OVER ( [ PARTITION BY <partition_expr> ] ORDER BY <order_expr>  [ ASC | DESC ] )
Copy

Arguments

partition_expr

C’est l’expression facultative à utiliser pour regrouper des lignes dans des partitions.

order_expr

Cette expression spécifie l’ordre des lignes dans chaque partition.

Renvoie

Le type de données de la valeur renvoyée est DOUBLE.

Notes sur l’utilisation

La fonction CUME_DIST ne prend pas en charge les cadres de fenêtres explicites :

Exemples

SELECT
    symbol,
    exchange,
    CUME_DIST() OVER (PARTITION BY exchange ORDER BY price) AS cume_dist
  FROM trades;
Copy
+------+--------+------------+
|symbol|exchange|CUME_DIST   |
+------+--------+------------+
|SPY   |C       |0.3333333333|
|AAPL  |C       |         1.0|
|AAPL  |C       |         1.0|
|YHOO  |N       |0.1666666667|
|QQQ   |N       |         0.5|
|QQQ   |N       |         0.5|
|SPY   |N       |0.8333333333|
|SPY   |N       |0.8333333333|
|AAPL  |N       |         1.0|
|YHOO  |Q       |0.3333333333|
|YHOO  |Q       |0.3333333333|
|MSFT  |Q       |0.6666666667|
|MSFT  |Q       |0.6666666667|
|QQQ   |Q       |         1.0|
|QQQ   |Q       |         1.0|
|YHOO  |P       |         0.2|
|MSFT  |P       |         0.6|
|MSFT  |P       |         0.6|
|SPY   |P       |         0.8|
|AAPL  |P       |         1.0|
+------+--------+------------+