Myslím, že vám chybí INTERVAL
na začátku 1 week
:
SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL 1 week));
Zde je dotaz, který jsem spustil a který funguje pro DATE_SUB()
část:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL 4 WEEK);
Můžete použít zápornou hodnotu k zadání dotazu „N týdnů před daným datem“, takže by fungovalo něco takového:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL -1 WEEK);
Nebo:
SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL -1 week))