Мисля, че пропускате INTERVAL
в началото на 1 week
:
SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL 1 week));
Ето една заявка, която изпълних, която работи за DATE_SUB()
част:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL 4 WEEK);
Можете да използвате отрицателна стойност, за да направите заявка „N седмици преди дадена дата“, така че нещо подобно да работи:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL -1 WEEK);
Или:
SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL -1 week))