gpt4 book ai didi

sql - 在 SQL 中计算百分位数

转载 作者:行者123 更新时间:2023-12-03 16:52:02 25 4
gpt4 key购买 nike

这应该非常简单,但作为 SQL 的新手,我真的很挣扎。我被推荐对连续(非离散)数据使用 PERCENTILE_CONT。

有问题的数据涉及两列:(1) 患者列表的 ID 和 (2) 每年平均事件数。

使用我在网上找到的一些代码,这就是我要做的

SELECT ID,
percentile_cont (0.25) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY ID) as percentile_25,
percentile_cont (0.50) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY ID) as percentile_50,
percentile_cont (0.75) WITHIN GROUP
(ORDER BY PPPY ASC) OVER(PARTITION BY ID) as percentile_75
FROM AE_COUNT;

这似乎只是报告了每列具有相同的 PPPY 值。

知道我哪里出错了吗?

最佳答案

假设你想得到整个表的百分位数,试试这个:

SELECT Distinct
percentile_cont (0.25) WITHIN GROUP
(ORDER BY PPPY ASC) OVER() as percentile_25,
percentile_cont (0.50) WITHIN GROUP
(ORDER BY PPPY ASC) OVER() as percentile_50,
percentile_cont (0.75) WITHIN GROUP
(ORDER BY PPPY ASC) OVER() as percentile_75
FROM AE_COUNT;

删除分区语句将针对整个表运行它。我还从 select 语句中删除了 Id 列并使其与众不同。

我还要指出,你说的第二列是 平均 每年的事件数量。我不知道您需要百分位数做什么,但请注意,计算一组集合的平均值的百分位数不会产生与计算集合并集的百分位数相同的结果。

关于sql - 在 SQL 中计算百分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51542878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com