我正在尝试仅过滤过去24小时的一些结果。我在“时间”列中有时间戳记,并提出了此要求,但它在过去的24小时未进行过滤,它显示了所有内容。

$last_day = "SELECT site_id, time, COUNT(*) AS site_num FROM url_visits WHERE time < DATE_SUB( NOW(), INTERVAL 24 HOUR) GROUP BY site_id ORDER by COUNT(*) DESC";


有谁知道我如何才能使该查询在最近24小时内正常工作?它只适用于分组等,而并非最近24小时有效。谢谢。

编辑:

这是最终工作的结果,也是我发现可以使用的唯一解决方案,以防有人遇到此问题并希望做同样的事情。

SELECT site_id, time, COUNT(*) AS site_num FROM url_visits WHERE time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY)) GROUP BY site_id ORDER by COUNT(*) DESC

最佳答案

尝试使用

time > DATE_SUB( NOW(), INTERVAL 24 HOUR)


而不是

time < DATE_SUB( NOW(), INTERVAL 24 HOUR)

关于php - 筛选过去24小时的sql查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8603517/

10-13 09:49