我想将查询限制在过去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天到小时。