Tôi nghĩ rằng bạn đang thiếu INTERVAL
trước 1 week
:
SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL 1 week));
Đây là một truy vấn mà tôi đã chạy nó hoạt động cho DATE_SUB()
phần:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL 4 WEEK);
Bạn có thể sử dụng một giá trị âm để thực hiện truy vấn "N tuần trước ngày nhất định" để một cái gì đó như thế này sẽ hoạt động:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL -1 WEEK);
Hoặc:
SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL -1 week))