Inverse Verteilungsfunktionen
Im Folgenden sehen Sie Beispiele für inverse Verteilungsfunktionen. Die Funktionen percentile_cont und percentile_disc werden nicht als Fensteraggregate unterstützt.
In diesem Beispiel wird für jeden Wert der Spalte "grp" das Gehalt am 40. Perzentil gesucht. Verwenden Sie die percentile_cont-Funktion:
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)
Dieses Beispiel verwendet die percentile_disc-Funktion:
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)
Die percentile_disc-Funktion gibt einen Wert für das Dataset zurück, während percentile_cont einen interpolierten Wert zurückgibt.
Das folgende Beispiel berechnet den gemittelten Umsatz für jede Region:
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)