【发布时间】:2021-08-20 01:11:42
【问题描述】:
我正在尝试运行 SQL 查询以在某个组内的表中查找第 50 个百分位,但随后我还将结果分组到同一字段中。这是我的查询,例如在 tpch 的国家表上:
SELECT
regionkey,
PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY regionkey)
FROM "tpch/nation"
GROUP BY regionkey
ORDER BY regionkey
这是一个有效的查询吗?我正在尝试通过运行各种不同的百分位查询来 QA 我的代码。 Postgres 为上述查询返回此结果:
regionkey | percentile_cont
-------------+-----------------
0 | 0
1 | 1
2 | 2
3 | 3
4 | 4
(5 rows)
但我的问题是在现实世界中,有人会尝试运行此类查询吗?我是聚合函数的新手,尤其是百分位数函数。
【问题讨论】:
-
这是一个有效的查询,因为它运行。这不是一个有效的查询,因为结果不稳定并且没有任何实际意义。样本数据和期望的结果会有所帮助。目前尚不清楚您真正想要做什么。
标签: sql postgresql percentile percentile-cont