Какой самый простой (и, надеюсь, не слишком медленный) способ вычисления медианы с 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.