首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PERCENTILE_DISC -不包括Nulls

PERCENTILE_DISC -不包括Nulls
EN

Stack Overflow用户
提问于 2021-10-12 05:14:29
回答 1查看 455关注 0票数 0

下面的查询将返回“中位数”为310,但实际中值为365,我在PERCENTILE_DISC中遇到了问题。它返回310,因为它包含空值。

有办法让PERCENTILE_DISC排除NULLS吗?Gordon在这个帖子中提到,NULL被排除在PERCENTILE_DISC之外,但情况似乎并非如此。

下面是一个简单的例子,展示了这个问题:

代码语言:javascript
复制
SELECT
    DISTINCT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY Numbers) OVER (PARTITION BY Category)
from 
    (
        select 1 as Category,420 as Numbers
        union all
        select 1,425
        union all
        select 1,NULL
        union all 
        select 1,310
        union all
        select 1,300
    ) t1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-12 06:07:47

根据盘片,结果总是等于特定的列值。

PERCENTILE_DISC确实忽略了NULL :如果您请求PERCENTILE_DISC(0),您将得到300,而不是NULL。

要获得所需的值(365,即310到420之间的平均值),您需要使用PERCENTILE_CONT。参见上面提到的文档中的第一个示例,其中突出了PERCENTILE_CONT和PERCENTILE_DISC之间的区别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69535362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档