坚持使用DATE_SUB(排序上周记录)

时间:2014-08-12 05:55:05

标签: php mysql

我正在尝试根据时间从数据库中获取记录,特别是上周和上个月,但我被困在某个地方。这些是我用于获取上周信息的MySQL查询:

"SELECT *FROM posts WHERE date BETWEEN DATE SUB( CURDATE() , INTERVAL 1 WEEK) AND CURDATE()"

"SELECT *FROM posts WHERE date BETWEEN DATE SUB( CURDATE() , INTERVAL 7 DAY) AND DATE SUB( CURDATE() , INTERVAL 13 DAY) "

"SELECT *FROM posts WHERE date <= DATE_SUB( CURDATE() , 8 DAY)"

我也这样做了:

$lastweek = time() - (7*24*60*60);

使用以下查询:

"SELECT *FROM posts WHERE date <= '$lastweek' "

但它没有按照预期的方式运作。例如,如果数据库中有2014-07-26之类的日期,而2013-07-26之类的另一个日期,则会同时获取两者,而应仅提取2014-07-26

我正在使用MySQL CURDATE()函数插入数据库。

1 个答案:

答案 0 :(得分:0)

您无法将处于unix时间戳格式的日期与sql格式进行比较。您需要转换值:

SELECT * FROM posts WHERE date&lt; = from_unixtime($ lastweek)