0

我有一个有很多记录的 MySql 表。但我想获取当前和前一周的单独记录。

查询完美运行的当前周记录

SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE())

查询前一周,但它不起作用

SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE()) INTERVAL 7 DAY
4

2 回答 2

1
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)
于 2012-09-26T08:29:52.147 回答
-1

这看起来不像可以使用索引,但这确实是一个附带问题。您希望您的 curdate 为 - 7 天

SELECT * FROM tbl_track WHERE WEEK( date_created) = WEEK(ADDDATE(CURDATE(), INTERVAL -7 DAY));

于 2012-09-26T08:33:05.860 回答