我选择最近的一个MySQL表的项目有:由MAX(时间),时间选择最近的MySQL行<= X
SELECT MAX(time) as most_recent, userID
FROM TableName
GROUP BY userID
ORDER BY most_recent DESC
我的问题是,如果我想限制的最大时间与:
WHERE time <= nnn
该查询不起作用了。有没有子查询的解决方案?
在此先感谢!
我选择最近的一个MySQL表的项目有:由MAX(时间),时间选择最近的MySQL行<= X
SELECT MAX(time) as most_recent, userID
FROM TableName
GROUP BY userID
ORDER BY most_recent DESC
我的问题是,如果我想限制的最大时间与:
WHERE time <= nnn
该查询不起作用了。有没有子查询的解决方案?
在此先感谢!
使用HAVING
子句,像这样:
SELECT MAX(time) as most_recent, userID
FROM TableName
GROUP BY userID
HAVING MAX(time) <= nnn
ORDER BY most_recent DESC
你可以用子查询做到这一点:
select t.userID, max(t.time)
from
(
select userID, time
from tableName
where time <= nnn
) t
group by t.userID
或者干脆:
select userID, max(time)
from tableName
where time <= nnn
group by userID
Unfortunetely这不起作用。它将返回一个空的结果'用户ID时间> nnn';我有多行具有相同的用户ID,我想要最新的时间,但<= nnn – schlimpf