如何计算 PrestoSQL 中的中位数?

How to compute a median in PrestoSQL?

Presto SQL 中似乎没有用于该目的的本机函数。你知道有什么方法可以有效地聚合一个组和 return 它的中位数吗?

approx_percentile()应该是合理的做法。假设像 mytable(id, val) 这样的 table,您希望按 id:

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