CUME_DIST ウィンドウ関数 - Amazon Redshift

CUME_DIST ウィンドウ関数

ウィンドウまたはパーティション内の値の累積分布を計算します。昇順の場合、累積分布は以下の式を使用して特定されます。

count of rows with values <= x / count of rows in the window or partition

ここで、x は ORDER BY 句で指定された列の現在の行の値と等しくなります。以下のデータセットは、この式の使用方法を示しています。

Row# Value Calculation CUME_DIST 1 2500 (1)/(5) 0.2 2 2600 (2)/(5) 0.4 3 2800 (3)/(5) 0.6 4 2900 (4)/(5) 0.8 5 3100 (5)/(5) 1.0

戻り値の範囲は、0~1 (0 は含みませんが 1 は含みます) です。

構文

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

引数

OVER

ウィンドウのパーティションを指定する句。OVER 句にウィンドウフレーム仕様を含めることはできません。

PARTITION BY partition_expression

省略可能。OVER 句の各グループのレコードの範囲を設定する式。

ORDER BY order_list

累積分布を計算する式。式は、数値データ型を含んでいるか、そのデータ型に暗黙的に変換できる必要があります。ORDER BY を省略した場合、すべての行について戻り値は 1 です。

ORDER BY で一意の並べ替えが行われない場合、行の順序は不確定になります。詳細については、「ウィンドウ関数用データの一意の並び順」を参照してください。

戻り型

FLOAT8

次の例は、各販売者の数量の累積配布を計算します。

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

WINSALES テーブルの説明については、「ウィンドウ関数例のサンプルテーブル」を参照してください。