MySQL只选择过去10天的时间戳


MySQL select only where Timestamp is from last 10 days

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

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

谢谢

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

注意:调用一个列'Date'是不好的做法,因为它是一个保留字。

您可以使用DATEDIFF,也可以使用DATE_SUB。另外,我建议不要在列名中使用"Date"这样的保留词。代码示例:

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

Try with date_sub

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

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

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

我发现这是更准确地返回正好10天到小时。