用MySQL计算中位数最简单(希望不会太慢)的方法是什么?我已经使用AVG(x)
来寻找平均值,但我很难找到一个简单的方法来计算中位数。现在,我将所有的行返回到PHP,进行排序,然后选择中间的行,但是肯定有一些简单的方法可以在一个MySQL查询中完成它。
示例数据:
id | val
--------
1 4
2 7
3 2
4 2
5 9
6 8
7 3
在val
上排序会得到2 2 3 4 7 8 9
,因此中位数应该是4
,而SELECT AVG(val)
是== 5
。