简体   繁体   中英

get data from last week

I want all data from last week. I used

SELECT id FROM tbl
WHERE date >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY
AND date < curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAY 

but its not working when my week starts with "Monday".

What should I do?

Then change like this

$lastweek = unix_to_human(time("Y-m-d H:i:s") - (7 * 24 * 60 * 60), TRUE, 'us');
SELECT id FROM tbl
WHERE date >= curdate() - $lastweek
AND date < curdate() - $lastweek 

Try

SELECT id FROM tbl
WHERE YEARweek(date) = YEARweek(curdate())
SELECT id FROM tbl WHERE date  >= CURDATE() - INTERVAL (WEEKDAY(CURDATE())+7) DAY  AND date   <  CURDATE()  - INTERVAL (WEEKDAY(CURDATE())) DAY 

我尝试这个,对我有用。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM