我有一个有很多记录的 MySql 表。但我想获取当前和前一周的单独记录。
查询完美运行的当前周记录
SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE())
查询前一周,但它不起作用
SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE()) INTERVAL 7 DAY
我有一个有很多记录的 MySql 表。但我想获取当前和前一周的单独记录。
查询完美运行的当前周记录
SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE())
查询前一周,但它不起作用
SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE()) INTERVAL 7 DAY
SELECT * FROM tbl_track
WHERE WEEK(`date_created`) = WEEK(DATE_SUB(CURDATE(), INTERVAL 7 DAY))
或者:
SELECT * FROM tbl_track
WHERE WEEK(`date_created`) = WEEK(CURDATE() - INTERVAL 7 DAY)
这看起来不像可以使用索引,但这确实是一个附带问题。您希望您的 curdate 为 - 7 天
SELECT * FROM tbl_track WHERE WEEK( date_created
) = WEEK(ADDDATE(CURDATE(), INTERVAL -7 DAY));