我的SQL在一周内抓住了最后的活跃用户

时间:2010-12-31 16:25:15

标签: mysql relational-database

我有一个查询,但我不确定如何按上次登录日期限制用户。我只想返回上周登录的用户。这是我的疑问:

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

DateLastLogin是一个日期时间字段。

5 个答案:

答案 0 :(得分:7)

WHERE DateLastLogin > ADDDATE(NOW(), INTERVAL -1 WEEK)

答案 1 :(得分:4)

你可以这样做:

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

或者

SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` < DATE_SUB(NOW(), INTERVAL 1 WEEK)

答案 2 :(得分:3)

"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)"

答案 3 :(得分:2)

在PHP中,您可以使用

strtotime('-1 week');

这将从一周前输出unix时间

答案 4 :(得分:-1)

SELECT Count(* ) FROM Users WHERE CreatedDate > DATEADD(DAY, -7, GETDATE())