mySQL查询无效

时间:2014-06-13 05:37:33

标签: php mysql sql

SELECT *
FROM session
WHERE location='/mgc_cb_evo.php?do=view_chatbox' 
GROUP BY userid

我正在使用mySQL

我希望查询只返回最后一次活动为15分钟前的行。我相信最后的活动是时间的,但可能只是时间。所以,如果你能为两者提供答案那么好。

以上查询返回所有结果,但我只想要最后一次活动少于15分钟的结果。我的论坛上的时间是GMT + 1,如果有帮助的话。

另外一些用户标识有多行,所以我只想获得最新的行,可以使用lastactivity和userid来确定。

有人能帮助我吗?如果你能提供实际的代码,这对我很有帮助,因为我不得不赶紧上班。

谢谢!

3 个答案:

答案 0 :(得分:1)

使用CURRENT_TIMESTAMP获取当前时间INTERVAL以指定时间范围

select *
from session
where location='/mgc_cb_evo.php?do=view_chatbox' 
  and lastactivity >= UNIX_TIMESTAMP() - 900

您可能不需要GROUP BY,因为它通常用于SUM(x)等聚合。

答案 1 :(得分:0)

您可以尝试这样的事情: -

SELECT *
FROM session
WHERE location='/mgc_cb_evo.php?do=view_chatbox' 
AND lastactivity = addtime(curtime(),'-1500');

希望这可以帮到你。

答案 2 :(得分:-1)

SELECT *
FROM session
WHERE location='/mgc_cb_evo.php?do=view_chatbox' AND MINUTE(SUBTIME(CURRENT_TIMESTAMP(),lastactivity))<15
GROUP BY userid

检查一下,这应该适合你