My SQL captures the last active users in one week

I have a request, and I'm not sure how to restrict users to the last login date. I only want to return the users who logged in last week. Here is my request:

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

DateLastLogin is a datetime field.

+3
source share
4 answers
WHERE DateLastLogin > ADDDATE(NOW(), INTERVAL -1 WEEK)
+7
source

You can do it:

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

or

SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` < DATE_SUB(NOW(), INTERVAL 1 WEEK)
+4
source
"SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` < DATE_SUB(curdate(), INTERVAL 1 WEEK)"

The request you are looking for is likely

"SELECT `ID` FROM `Profiles` WHERE `DateLastLogin` BETWEEN NOW() AND DATE_SUB(curdate(), INTERVAL 1 WEEK)"
+3
source

In PHP you can use

strtotime('-1 week');

and this will output unix time from a week ago

+2
source

Source: https://habr.com/ru/post/1782935/


All Articles