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


我正在使用mySQL

我希望查询仅返回15分钟前具有lastactivity的行。我相信lastactivity是timedate,但可能只是时间。因此,如果您能同时给出答案,那将是很好的。

上面的查询返回所有结果,但是我只希望最后一个活动少于15分钟的结果。如果有帮助,我论坛上的时间为GMT + 1。

另外,一些用户ID具有多行,因此我只想获取最新的行(可以使用lastactivity与用户ID一起确定)。

有人能帮我吗。如果您可以提供对我有很大帮助的实际代码,那么我必须尽快着手工作。

谢谢!

最佳答案

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

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


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

10-06 04:55