Здравствуйте,
у меня 2 таблицы:
1 - posts - таблица со статьями
2 - statistics - количество просмотров постов за каждый день (срез статистики)
Мне нужно делать выборку самых читаемых постов за определенный период времени, то есть взять самое маленькое (первое) значение и отнять его от самого большого. Получается запрос вида
select
posts.*
join statistics on statistics.post_id = posts.id
where statistics.created_at => :from and statistics.created_at <= :to
group by posts.id
order by max(statistics.views) - min(statistics.views)
Запрос такого вида тяжелый, как можно его ускорить?