MySQL查询没有返回任何结果。

3

我很难理解为什么我的查询没有返回任何结果,请您看一下并告诉我我做错了什么:

SELECT * FROM sys_online_users WHERE last_active BETWEEN NOW() AND DATE_SUB(NOW(), INTERVAL 10 SECOND) 

我的目标是显示在过去的10秒或其他时间段内活跃的用户。然而,当我运行查询时,尽管知道表中有介于指定时间范围内的更新,但我没有得到任何结果。

4个回答

1
你走错了方向,首先是十秒钟之前,然后才是现在。
SELECT * FROM sys_online_users WHERE 
last_active BETWEEN DATE_SUB(NOW(),
INTERVAL 10 SECOND) 
AND NOW() 

我现在注意到,由于某种原因,将活动时间写入我的数据库的PHP比实际时间晚了一小时,这也可能是为什么我之前无法获得匹配的原因,但现在问题又来了,我该如何解决这个问题? - Leon Claassen

0

试试这个:

SELECT * FROM sys_online_users WHERE last_active BETWEEN DATE_SUB(NOW(), INTERVAL 10 SECOND) AND NOW()

0
只有列的位置错误,试试这个:
SELECT * FROM sys_online_users WHERE last_active BETWEEN DATE_SUB(NOW(), INTERVAL 10 SECOND) AND NOW()

0

我已经尝试了下面的查询,它完美地工作了。在你的查询中,请将第二个查询与第一个查询之间留更多的间隔,然后再执行查询,你将得到所需的结果。

SELECT * FROM sys_online_users WHERE last_active BETWEEN DATE_SUB(NOW(), INTERVAL 50 SECOND) AND NOW();

在这个查询中,我添加了50秒,这样我们就可以轻松地识别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接