Требуется помощь по составлению запроса Mysql

Есть таблица со статистикой в ней 3 поля (id, time, user_id)

Помогите собрать один запрос, чтобы выбирать COUNT(id) WHERE time (разбит по часам) за последние 7 дней с группировкой по user_id. Просто у меня получается жуткая портянка с кучей вложенных запросов, может есть более грамотное решение
  • Вопрос задан
  • 2393 просмотра
Пригласить эксперта
Ответы на вопрос 1
exIV
@exIV
вроде ни одного подзапроса тут не надо:

select user_id, DATE_ADD( FROM_DAYS( TO_DAYS( request_time ) ), INTERVAL HOUR(request_time) HOUR ) as rh, count( * ) as cnt from stats
where request_time between DATE_ADD( CURDATE( ), INTERVAL -7 DAY ) and CURDATE( )
group by by user_id, rh
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы