如何计算 PrestoSQL 中的中位数?
Posted
技术标签:
【中文标题】如何计算 PrestoSQL 中的中位数?【英文标题】:How to compute a median in PrestoSQL? 【发布时间】:2021-01-09 19:11:34 【问题描述】:Presto SQL 中似乎没有用于此目的的本机函数。你知道有什么方法可以有效地聚合一个组并返回它的中位数吗?
【问题讨论】:
【参考方案1】:approx_percentile()
应该是一个合理的方法。假设像mytable(id, val)
这样的表,您希望通过id
聚合:
select id, approx_percentile(val, 0.5) median_val
from mytable
group by id
【讨论】:
请注意,这是一个近似的解决方案。即将发布的 Presto 版本将在一般情况下提供更高的准确性,请关注 github.com/prestosql/presto/pull/5158 了解详情。以上是关于如何计算 PrestoSQL 中的中位数?的主要内容,如果未能解决你的问题,请参考以下文章