Xin chào, tôi có một bảng với trường ngày tháng và một số thông tin khác. Tôi muốn chọn tất cả các mục từ tuần trước, (tuần bắt đầu từ Chủ nhật).
giá trị bảng:
id date
2 2011-05-14 09:17:25
5 2011-05-16 09:17:25
6 2011-05-17 09:17:25
8 2011-05-20 09:17:25
15 2011-05-22 09:17:25
Tôi muốn chọn tất cả các id từ tuần trước, đầu ra dự kiến là 5, 6, 8. (id 2 không có trong tuần trước và id 15 là trong tuần hiện tại.)
Cách viết và Truy vấn SQL giống nhau.
SELECT id FROM tbl WHERE WEEK(date, 0) = WEEK(NOW(), 0) - 1
trong nhiều tuần, nhưng tôi đoán mục tiêu của anh ấy không phải là các tuần theo lịch thực. Ít nhất thì anh ấy đã không đề cập đến các s / t như ISO-8601, hoặc liệu anh ấy có muốn thời điểm chuyển giao của năm được xem xét hay không.
WHERE table.column >= DATE(NOW()) - INTERVAL 7 DAY