Использование MEDIAN наряду с функциями MAX, MIN и AVG в MySQL
У меня есть следующий запрос MySQL, который работает отлично:
select
count(*) as `# of Data points`,
name,
max((QNTY_Sell/QNTYDelivered)*1000) as `MAX Thousand Price`,
min((QNTY_Sell/QNTYDelivered)*1000) as `MIN Thousand Price`,
avg((QNTY_Sell/QNTYDelivered)*1000) as `MEAN Thousand Price`
from
table_name
where
year(date) >= 2012 and
name like "%the_name%" and
QNTYDelivered > 0 and
QNTY_Sell > 0
group by name
order by name;
Теперь я хочу также добавить столбец результатов, который дает мне МЕДИАНУ данных для каждой строки. ПодSELECT
это будет выглядеть так в идеальном мире:
median((QNTY_Sell/QNTYDelivered)*1000) as `MEDIAN Thousand Price`
Поиск в Google функции медианы MySQL привел меня к этому ответу, который выглядит нормально, если вас интересует медиана набора данных для всей таблицы:Простой способ рассчитать медиану с MySQL
Разница здесь в том, что я группирую данные в моей таблице поname
столбца и хотите получить медиану для каждой строки данных, сгруппированных по этому столбцу.
Кто-нибудь знает хитрый прием, чтобы позволить мне это сделать?
Спасибо!