MySQL仅选择Timestamp最近10天的位置

时间:2011-08-03 19:53:33

标签: php mysql timestamp

我想将查询限制为过去10天内输入的结果。 TIMESTAMP列称为Date。我该怎么做?

$result = mysql_query("SELECT * FROM Posts WHERE (City = '$city2') ORDER by Comments DESC LIMIT 5");

由于

4 个答案:

答案 0 :(得分:27)

SELECT *
FROM Comments
WHERE (City = '$city2') AND (`Date` > DATE_SUB(now(), INTERVAL 10 DAY));

注意:调用“日期”列是不好的做法,因为它是一个保留字。

答案 1 :(得分:13)

您可以使用DATEDIFF或已发布的DATE_SUB。另外,我建议不要使用像“Date”这样的保留字来表示列名。代码示例:

WHERE DATEDIFF(NOW(), `Date`) < 10

答案 2 :(得分:4)

尝试使用date_sub

select * from Comments 
where City = '{$city2}' and 
`Date` > date_sub(now(), interval 10 day)

答案 3 :(得分:0)

假设您的数据是每小时一次,也可以使用:

(SELECT * FROM comments ORDER BY DateTime desc LIMIT 240) order by DateTime

我发现将小时精确返回10天更为准确。