У меня есть таблица с именем user_logins, которая отслеживает вход пользователя в систему. Он имеет три колонки, login_id, user_id и login_timeСправка по запросу MySQL с группировкой и добавлением
login_id(INT) | user_id(INT) | login_time(TIMESTAMP)
------------------------------------------------------
1 | 4 | 2010-8-14 08:54:36
1 | 9 | 2010-8-16 08:56:36
1 | 9 | 2010-8-16 08:59:19
1 | 3 | 2010-8-16 09:00:24
1 | 1 | 2010-8-16 09:01:24
Я ищу написать запрос, который будет определять количество уникальных входов на каждый день, если в этот день есть логин и только в течение последних 30 дней текущую дату. Таким образом, для вывода должен выглядеть следующим образом
logins(INT) | login_date(DATE)
---------------------------
1 | 2010-8-14
3 | 2010-8-16
в таблице результатов 2010-8-16 имеют только 3, потому что user_id 9 вошел в два раза в этот день и его вход в систему только считается 1 входом в этот день , Я ищу только уникальные логины для определенного дня. Помните, что мне нужны только последние 30 дней, чтобы это было как моментальный снимок последнего месяца входа пользователя в систему для системы.
Я попытался создать запрос с небольшим успехом, что я до сих пор это,
SELECT
DATE(login_time) as login_date,
COUNT(login_time) as logins
FROM
user_logins
WHERE
login_time > (SELECT DATE(SUBDATE(NOW())-1)) FROM DUAL)
AND
login_time < LAST_DAY(NOW())
GROUP BY FLOOR(login_time/86400)
Я знаю, что это не так, и это возвращает все логины только начиная с начала текущего месяца и Безразлично «Группируйте их правильно. Некоторое руководство по поводу того, как это сделать, будет с благодарностью оценено. Спасибо
Ваш ИНЕКЕ, кажется, отличается от того, что спрашивает ваш вопрос, который правильно - ИНЕКЕ в. запрос или вопрос? –
вопрос, я знаю, что запрос неверен – IamBanksy
Мне нужно изменить запрос, чтобы сделать то, что я описываю в вопросе – IamBanksy