如何在PrestoSQL中计算中位数?

问题描述

在Presto sql中似乎没有用于此目的的本机函数。您知道有什么方法可以有效地汇总组并返回其中位数吗?

解决方法

approx_percentile()应该是一种合理的方法。假设一个像mytable(id,val)的表,您想按id进行汇总:

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