Tôi có một báo cáo được dẫn dắt bởi một truy vấn sql trông như thế này:Làm cách nào để chọn hai tuần trước trong MYSQL?
SELECT batch_log.userid,
batches.operation_id,
SUM(TIME_TO_SEC(ramses.batch_log.time_elapsed)),
SUM(ramses.tasks.estimated_nonrecurring + ramses.tasks.estimated_recurring),
DATE(start_time)
FROM batch_log
JOIN batches ON batch_log.batch_id=batches.id
JOIN ramses.tasks ON ramses.batch_log.batch_id=ramses.tasks.batch_id
JOIN protocase.tblusers on ramses.batch_log.userid = protocase.tblusers.userid
WHERE DATE(ramses.batch_log.start_time) > "2011-02-01"
AND ramses.batch_log.time_elapsed > "00:03:00"
AND DATE(ramses.batch_log.start_time) < now()
AND protocase.tblusers.active = 1
AND protocase.tblusers.userid NOT in ("ksnow","smanning", "dstapleton")
GROUP BY userid, batches.operation_id, date(start_time)
ORDER BY start_time, userid ASC
Do đây là để được so sánh với thời gian từ payperiod hiện tại nó gây ra một lỗi.
Thời gian trả tiền của chúng tôi bắt đầu vào Chủ Nhật, giai đoạn thanh toán đầu tiên là 2011-02-01 và thời gian thanh toán cuối cùng của chúng tôi bắt đầu vào ngày 4 của tháng này. Làm thế nào để tôi đưa câu trả lời đó vào vị trí của tôi để loại bỏ giai đoạn thanh toán gần đây nhất khỏi truy vấn?
EDIT: Vì vậy, bây giờ tôi đang sử dụng date_sub (now(), INTERVAL 2 WEEK) nhưng tôi thực sự cần một ngày cụ thể trong tuần (SUNDAY) vì ngày thứ tư nó cắt nó vào thứ tư.
Kiểm tra [chức năng ngày và giờ của MySQL] (http://dev.mysql.com/doc/refman/5.5/en/ date-and-time-functions.html), cụ thể là DATE_SUB() –