Для этого есть group_concat()
трюк, если ваши данные не слишком велики. Это работает довольно хорошо:
select a.login_time,
substring_index(substring_index(group_concat(bet order by bet), ',', ceil(count(*) / 2), ',', -1)
from activity a
where a.login_time between '2018-04-05' and '2018-04-18'
group by a.login_time;
Если есть четное количество примеров, тогда выбирается значение в нижней части. Медианы не определены четко для множеств с равномерным количеством элементов.