如何在PrestoSQL中计算中位数?

13

在Presto SQL中似乎没有原生函数能够实现这个目的。您知道任何一种有效地聚合分组并返回其中位数的方法吗?

1个回答

24

approx_percentile()可能是一个合理的方法。假设有一个表格mytable(id, val),您想按id聚合:

select id, approx_percentile(val, 0.5) median_val
from mytable
group by id

2
请注意,这是一个近似的解决方案。即将发布的Presto版本将在一般情况下提供更高的精度,请访问https://github.com/prestosql/presto/pull/5158以了解详细信息。 - Piotr Findeisen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接