次の方法で共有


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