使用MySQL计算中值的最简单(并且希望不是太慢)的方法是什么?我已经习惯AVG(x)了找到平均值,但我很难找到一种计算中位数的简单方法.现在,我将所有行返回给PHP,进行排序,然后选择中间行,但肯定必须有一些简单的方法在单个MySQL查询中执行此操作.
示例数据:
id | val
--------
1 4
2 7
3 2
4 2
5 9
6 8
7 3
Run Code Online (Sandbox Code Playgroud)
排序上val给出2 2 3 4 7 8 9的,所以中间应该是4,与SELECT AVG(val)这== 5.