Мой SQL захватил последних активных пользователей в течение одной недели - PullRequest
3 голосов
/ 31 декабря 2010

У меня есть запрос, и я не уверен, как ограничить пользователей по дате последнего входа. я только хочу вернуть пользователей, которые вошли в систему на прошлой неделе. Вот мой запрос:

"SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` < '[1WEEK]'"

DateLastLogin - это поле даты и времени.

Ответы [ 5 ]

7 голосов
/ 31 декабря 2010
WHERE DateLastLogin > ADDDATE(NOW(), INTERVAL -1 WEEK)
4 голосов
/ 31 декабря 2010

Вы можете сделать это:

SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` < DATE_SUB(NOW(), INTERVAL 7 DAY)

Или

SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` < DATE_SUB(NOW(), INTERVAL 1 WEEK)
3 голосов
/ 31 декабря 2010
"SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` < DATE_SUB(curdate(), INTERVAL 1 WEEK)"

Вероятно, вы ищете запрос

"SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` BETWEEN NOW() AND DATE_SUB(curdate(), INTERVAL 1 WEEK)"
2 голосов
/ 31 декабря 2010

В PHP вы можете использовать

strtotime('-1 week');

, и это выведет время Unix за неделю назад

0 голосов
/ 16 августа 2018
SELECT Count(* ) FROM Users WHERE CreatedDate > DATEADD(DAY, -7, GETDATE())
...