Percentile_disc vs percentile_cont

В чем разница между 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 

Но все же не могу понять, как эти два и какие функции используют эти две функции.

Ответ 1

PERCENTILE_DISC возвращает значение в вашем наборе/окне, тогда как PERCENTILE_CONT будет интерполировать;

В вашем запросе, когда вы используете .72, PERCENTILE_CONT интерполирует между 76 и 78, поскольку 72% не являются ни одним из них; PERCENTILE_DISC выбирает 76 (самый низкий из них)