逆分布関数

次に示すのは、逆分布関数の例です。 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)