You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中PERCENTILE_DISC()的数学计算方法及结果疑问

PERCENTILE_DISC的数学计算方法及结果解释

核心逻辑

PERCENTILE_DISC是离散百分位数函数,它的核心特点是返回数据集中实际存在的数值,不会像PERCENTILE_CONT那样生成插值结果。

计算步骤(以你的数据为例)

  • 先对数据排序
    你的原始数据:2, 3, 5, 1, 9, 10, 20, 34, 77, 55, 11, 13, 56, 99
    按升序排序后得到:1, 2, 3, 5, 9, 10, 11, 13, 20, 34, 55, 56, 77, 99,共14个数据点(记为n=14)。

  • 计算位置索引
    根据PERCENTILE_DISC的标准算法,位置索引计算公式为:

k = p * (n - 1)

其中p是目标百分位(这里是0.25),代入数值计算:

k = 0.25 * (14 - 1) = 0.25 * 13 = 3.25
  • 确定目标数据位置
    对计算得到的k取向上取整(天花板值),得到m = CEIL(3.25) = 4。这里的位置从1开始计数,因此我们取排序后列表的第4个元素。

  • 获取结果
    排序后第4个元素是5,这就是PERCENTILE_DISC(0.25)的结果。

补充对比

和PERCENTILE_CONT的插值逻辑不同,PERCENTILE_DISC始终返回数据集中已有的值,它会找到第一个大于等于目标百分位对应位置的实际数据点,适合需要离散结果的分析场景。

内容的提问来源于stack exchange,提问作者trangdtt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:02:40