[英]filter sql query for last 24 hours
我正在尝试仅过滤过去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)
$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小时。 不是+ 24小时。 DATE_SUB( NOW(), INTERVAL -24 HOUR)
。
或您需要将时间增加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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.