翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
PERCENT_RANK
パーティション内での現在の行の相対順位を表す 0.0 から 1.0 までの値を返します。
名前とは異なり、この関数は (rank - 1) / (partition-rows - 1) に等しい値を返します。ここで、rank は組み込みウィンドウ関数 RANK() が返す値、partition-rows はパーティション内の行の総数です。パーティションに行が 1 つしかない場合、この関数は 0.0 を返します。
関連項目:
[SELECT] [RANK] [CUME_DIST]
構文
SELECT PERCENT_RANK() OVER ([PARTITION BY column] ORDER BY column [ASC|DESC])
FROM <multipartIdentifier>;
引数
PARTITION BY column
省略可能。結果セットをパーティションに分割します。PERCENT_RANK 関数は各パーティションに個別に適用されます。
ORDER BY column パーセンタイル順位を計算する順序を指定します。
戻り値
パーセンタイル順位を表す 0.0 から 1.0 までの浮動小数点数を返します。
例
コントリビューターのパーセンタイル順位を計算する
-- Calculate percentile ranking of contributors
SELECT
login,
contributions,
PERCENT_RANK() OVER (ORDER BY contributions) as percentile,
CUME_DIST() OVER (ORDER BY contributions) as cumulative_dist
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql'
ORDER BY contributions DESC;
ヒント
PERCENT_RANK の値 0.0 は順位が最も低い行を示し、1.0 は順位が最も高い行を示します。この関数を使用すると、特定の値が分布のどこに位置するかを特定できます。
詳細については、https://sqlite.org/windowfunctions.html#built-in_window_functions を参照してください。