percent_rank
順位付けウィンドウ関数
適用対象: Databricks SQL Databricks Runtime
パーティション内の値のパーセンテージ順位を計算します。
構文
percent_rank()
引数
この関数は引数を受け取りません。
戻り値
DOUBLE。
この関数は、ウィンドウ内の順位から 1 引いた数を、ウィンドウ内の行数から 1 引いた数として定義されます。 ウィンドウに 1 行しかない場合、順位は 0 です。
式として、セマンティックは次のように表現できます。
nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)
この関数は cume_dist 分析ウィンドウ関数と似ていますが、同じではありません。
ウィンドウ仕様には ORDER BY 句 を含める必要があります。
例
> SELECT a, b, percent_rank(b) OVER (PARTITION BY a ORDER BY b)
FROM VALUES ('A1', 2), ('A1', 1), ('A1', 3), ('A1', 6), ('A1', 7), ('A1', 7), ('A2', 3), ('A1', 1) tab(a, b)
A1 1 0.0
A1 1 0.0
A1 2 0.3333333333333333
A1 3 0.5
A1 6 0.6666666666666666
A1 7 0.8333333333333334
A1 7 0.8333333333333334
A2 3 0.0