MYSQL查询:最新时间戳+过去30分钟的唯一值

Hyp*_*vil 5 mysql

我需要从mysql表中检索具有唯一值的最新行.简单的表格布局是时间戳(now())和用户名列.该表每秒获取几次新数据,我需要用户名唯一的最新行.

SELECT MAX(timestamp) as timestamp, username 
    FROM bla 
    WHERE timestamp < (now() - interval 30 minute) 
    GROUP BY username 
    ORDER BY timestamp DESC 
Run Code Online (Sandbox Code Playgroud)

看来这个查询没有返回最新值,可能是因为该组正在做一些我不想要的事情......

Joe*_*lli 6

如果你想看看最后30分钟,那么我认为你想要使用"大于"而不是"小于".

... WHERE timestamp > (now() - interval 30 minute) ...
Run Code Online (Sandbox Code Playgroud)


Hyp*_*vil 2

SELECT MAX(timestamp) as timestamp, username 
    FROM bla 
    WHERE timestamp > (now() - interval 30 minute) 
    GROUP BY username 
    ORDER BY timestamp DESC 
Run Code Online (Sandbox Code Playgroud)