Moumita
Moumita

Reputation: 360

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?

Upvotes: 0

Views: 675

Answers (3)

Moumita
Moumita

Reputation: 360

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

I try this and it work for me.

Upvotes: 1

GautamD31
GautamD31

Reputation: 28763

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 

Upvotes: 0

Salil
Salil

Reputation: 47472

Try

SELECT id FROM tbl
WHERE YEARweek(date) = YEARweek(curdate())

Upvotes: 0

Related Questions