MYSQL 获取中位数

来不及解释了,先上车。

1
2
3
4
5
6
7
8
9
10
+----+
|O_id|
+----+
| 2 |
| 1 |
| 5 |
| 3 |
| 4 |
| 6 |
+----+
1
2
3
4
5
6
7
8
SET @rownum := -1;

SELECT avg(n.id) FROM
(SELECT @rownum:=@rownum + 1 AS rowindex,
O_id AS id
FROM ORDERS2
ORDER BY O_id) AS n
WHERE n.rowindex IN (FLOOR(@rownum/2), CEIL(@rownum/2))

改日再完善。