@hypertonyc

Возможно ли составить такой SQL запрос?

Имеется таблица, в ней id_user и timestamp со временем входа этого пользователя в систему. Запрос должен выдать id тех юзеров, которые заходили чаще 3 раз за час в заданный промежуток времени. Чот не знаю с какой стороны подойти, да и получится ли вообще решить такую задачу просто запросом.
  • Вопрос задан
  • 270 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега SQL
Седой и строгий
Нет возможности проверить, пишу на глаз
SELECT
  id_user,
  datetime((strftime('%s', timestamp) / 3600) * 3600, 'unixepoch') as interval
FROM some_table
GROUP BY interval, id_user
HAVING count(*) > 3;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@nozzy
Silex, Symfony, Laravel, SQL
Не проверял
select
t1.user_id
from 
(
	select
	user_id
	from users
	where timestamp BETWEEN strftime('%m/%d/%Y %H:%M', datetime('now','localtime'), '-1 hours') 
	AND strftime('%m/%d/%Y %H:%M',datetime('now','localtime'));
) t1
group by t1.user_id
having count(*) > 3
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы