PERCENTILE_DISC
和PERCENTILE_CONT
之间有什么区别,
我有一个表### select * from childstat
FIRSTNAME GENDER BIRTHDATE HEIGHT WEIGHT
-------------------------------------------------- ------ --------- ---------- ----------
lauren f 10-JUN-00 54 876
rosemary f 08-MAY-00 35 123
Albert m 02-AUG-00 15 923
buddy m 02-OCT-00 15 150
furkar m 05-JAN-00 76 198
simon m 03-JAN-00 87 256
tommy m 11-DEC-00 78 167
我正在尝试区分那些百分位数
select firstname,height,
percentile_cont(.50) within group (order by height) over() as pctcont_50_ht,
percentile_cont(.72) within group (order by height) over() as pctcont_72_ht,
percentile_disc(.50) within group (order by height) over () as pctdisc_50_ht,
percentile_disc(.72) within group (order by height) over () as pctdisc_72_ht
from childstat order by height
FIRSTNAME HEIGHT PCTCONT_50_HT PCTCONT_72_HT PCTDISC_50_HT PCTDISC_72_HT
-------------------------------------------------- ---------- ------------- ------------- ------------- -------------
buddy 15 54 76.64 54 78
Albert 15 54 76.64 54 78
rosemary 35 54 76.64 54 78
lauren 54 54 76.64 54 78
furkar 76 54 76.64 54 78
tommy 78 54 76.64 54 78
simon 87 54 76.64 54 78
但仍然无法理解这两个如何使用这两个函数。
答案 0 :(得分:20)
PERCENTILE_DISC
会在您的设置/窗口中返回一个值,而PERCENTILE_CONT
会进行插值;
在您的查询中,当您使用.72
时,PERCENTILE_CONT
会在76到78之间进行插值,因为72%不是其中之一; PERCENTILE_DISC
选择76(最低的)
答案 1 :(得分:0)
我发现这种解释非常有帮助 http://mfzahirdba.blogspot.com/2012/09/difference-between-percentilecont-and.html
ITEM REGION WK FORECASTQTY
---- ---------- ---------- -----------
TEST E 3 137
TEST E 2 190
TEST E 1 232
TEST E 4 400
SQL> SELECT
2 t.* ,
3 PERCENTILE_CONT(0.5)
4 WITHIN GROUP ( ORDER BY forecastqty)
5 OVER (PARTITION BY ITEM , region ) AS PERCENTILE_CONT ,
6 MEDIAN(forecastqty)
7 OVER (PARTITION BY ITEM , region ) AS MEDIAN ,
8 PERCENTILE_DISC(0.5)
9 WITHIN GROUP ( ORDER BY forecastqty)
10 OVER (PARTITION BY ITEM , region ) AS PERCENTILE_DISC
11 FROM
12 t ;
ITEM REGION WK FORECASTQTY PERCENTILE_CONT MEDIAN PERCENTILE_DISC
---- ---------- ---------- ----------- --------------- ---------- ---------------
TEST E 3 137 211 211 190
TEST E 2 190 211 211 190
TEST E 1 232 211 211 190
TEST E 4 400 211 211 190