我有一系列数字如下:2, 3, 5, 1, 9, 10, 20, 34, 77, 55, 11, 13, 56, 99 我编写了一个查询来计算 25 的 PERCENTILE,如下所示:
SELECT
PERCENTILE_DISC(0.25) WITHIN GROUP (ORDER BY VALUE_DATA) AS percent_disc,
PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY VALUE_DATA) AS percent_cont
FROM
tmp_percentile
结果是: PERCENTILE_CONT(0.25) = 6 且 PERCENTILE_DISC(0.25) = 5。 我通过此链接学习了如何计算 PERCENTILE_CONT:https://docs.oracle.com/cd/B13789_01/server.101/b10759/functions100.htm#i1000909。但我仍然没有找到 PERCENTILE_DISC 的答案。为什么 PERCENTILE_DISC(0.25) = 5
PERCENTILE_DISC 返回数据中的实际值,而 PERCENTILE_CONT 可以返回数据中不存在的值。例如
PERCENTILE_DISC(0.25) 函数将以升序对数字进行排序,然后选择第 25 个百分位数的值。