percentile_approx
返回第 p 个百分位数的近似值,其中 p 的值介于 0 和 1 之间。
压缩参数是可选的,设置范围为 [2048, 10000]。 该值越大,精度越高,内存消耗越大,计算时间越长。 如果未指定或未超出[2048, 10000]的范围,则该函数以10000的默认压缩参数运行。
此函数使用固定大小的内存,因此对于具有高基数的列可以使用更少的内存,并且可以用于计算诸如tp99之类的统计信息。
语法
DOUBLE PERCENTILE_APPROX(expr, DOUBLE p[, DOUBLE compression])
示例
MySQL > select `table`, percentile_approx(cost_time,0.99)
from log_statis
group by `table`;
+----------+--------------------------------------+
| table | percentile_approx(`cost_time`, 0.99) |
+----------+--------------------------------------+
| test | 54.22 |
+----------+--------------------------------------+
MySQL > select `table`, percentile_approx(cost_time,0.99, 4096)
from log_statis
group by `table`;
+----------+----------------------------------------------+
| table | percentile_approx(`cost_time`, 0.99, 4096.0) |
+----------+----------------------------------------------+
| test | 54.21 |
+----------+----------------------------------------------+
关键词
PERCENTILE_APPROX,PERCENTILE,APPROX