PERCENTILE_DISC ウィンドウ関数 - Amazon Redshift

PERCENTILE_DISC ウィンドウ関数

PERCENTILE_DISC は、離散型分散モデルを前提とする逆分散関数です。これは、パーセンタイル値とソート仕様を取得し、特定のセットからエレメントを返します。

特定のパーセンタイル値が P である場合、PERCENTILE_DISC は ORDER BY 句の式の値をソートし、P と同じであるか P より大きい最少累積分散値 (同じソート仕様を基準とする) を持つ値を返します。

OVER 句では PARTITION 句のみを指定できます。

PERCENTILE_DISC はコンピューティングノード専用の関数です。クエリがユーザー定義のテーブルまたは Amazon Redshift システムテーブルを参照しない場合、関数がエラーを返します。

Syntax

PERCENTILE_DISC ( percentile ) WITHIN GROUP (ORDER BY expr) OVER ( [ PARTITION BY expr_list ] )

Arguments

パーセンタイル

0 と 1 の間の数値定数。Null は計算では無視されます。

WITHIN GROUP ( ORDER BY expr)

パーセンタイルをソートして計算するための数値または日付/時間値を指定します。

OVER

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

PARTITION BY expr

OVER 句の各グループのレコードの範囲を設定するオプションの引数。

Returns

WITHIN GROUP 句の ORDER BY 式と同じデータ型。

Examples

次の例は、WINSALES テーブルを使用します。WINSALES テーブルの説明については、「ウィンドウ関数の概要の例」を参照してください。

select sellerid, qty, percentile_disc(0.5) within group (order by qty) over() as median from winsales; sellerid | qty | median ----------+-----+-------- 1 | 10 | 20 3 | 10 | 20 1 | 10 | 20 4 | 10 | 20 3 | 15 | 20 2 | 20 | 20 2 | 20 | 20 3 | 20 | 20 1 | 30 | 20 3 | 30 | 20 4 | 40 | 20 (11 rows)
select sellerid, qty, percentile_disc(0.5) within group (order by qty) over(partition by sellerid) as median from winsales; sellerid | qty | median ----------+-----+-------- 2 | 20 | 20 2 | 20 | 20 4 | 10 | 10 4 | 40 | 10 1 | 10 | 10 1 | 10 | 10 1 | 30 | 10 3 | 10 | 15 3 | 15 | 15 3 | 20 | 15 3 | 30 | 15 (11 rows)