逆分布関数
次に示すのは、逆分布関数の例です。 percentile_cont 関数と percentile_disc 関数は、ウィンドウ集約ではサポートされません。
この例では、列「grp」の各値について 40 番目のパーセンタイルの salary を検出します。 percentile_cont関数を使う:
SELECT grp, percentile_cont(0.4) WITHIN GROUP (ORDER BY sal) AS
fortieth FROM pctest GROUP BY grp;
GRP | FORTIETH
-----+----------
1 | 3000
2 | 980
3 | 1300
(3 rows)
この例では、次の percentile_disc 関数を使用します。
SELECT grp, percentile_disc(0.4) WITHIN GROUP (ORDER BY sal) AS
fortieth FROM pctest GROUP BY grp;
GRP | FORTIETH
-----+----------
1 | 3000
2 | 950
3 | 1250
(3 rows)
percentile_disc 関数はデータ・セットの値を返すのに対して、percentile_cont 関数は補間した値を返します。
次の計算では、各地域の売上の中央値を求めます。
SELECT region, percentile_cont(0.5) WITHIN GROUP(ORDER BY amt) FROM
sales_tbl GROUP BY region;
REGION | PERCENTILE_CONT
-----------+-----------------
Central | 1850
Northeast | 2700
Northwest | 2200
Southwest | 3250
(4 rows)