Выберите активные и неактивные используемые в последние 7 дней MySQL - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть таблица login_history, в которой хранятся login_time и logout_time против user_id. Я заинтересован в получении списка user_ids, которые активны за последние 7 дней и которые неактивны , используя другой запрос.

Я использую этот запрос select user_id from login_history where login_time <= DATE(NOW()) - INTERVAL 7 DAY, который показывает user_id 1,2 в выводе. Как я могу получить идентификатор пользователя active и inactive на основе последних 7 дней?

login_history_table

1 Ответ

1 голос
/ 26 апреля 2020

Тест MAX(login_time), чтобы увидеть, если они были активны в последнее время.

Возвращает неактивных пользователей.

SELECT user_id
FROM login_history
GROUP BY user_id
HAVING MAX(login_time) <= DATE(NOW() - INTERVAL 1 WEEK)

Чтобы получить активных пользователей, вы можете просто использовать DISTINCT после фильтрации для последних входов в систему.

SELECT DISTINCT user_id
FROM login_history
WHERE login_time > DATE(NOW() - INTERVAL 1 WEEK)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...