我有一个是由一个外形像这样的SQL查询驱动的报告:如何在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
因为这是与它会导致错误的电流payperiod的时间进行比较。
我们的薪酬期从星期日开始,第一期支付期为2011年2月1日,而我们的最后一期支付期从本月4日开始。我如何将它放到我的where语句中去除查询中最近的付款期限? (现在(),间隔2周),但我真的需要一个星期的特定日子(星期日),因为它是星期三它在星期三切断它。所以现在我使用date_sub(now(),INTERVAL 2 WEEK)。
查看[MySQL日期和时间函数](http://dev.mysql.com/doc/refman/5.5/en/ date-and-time-functions.html),即DATE_SUB() –