我想选择组的最大行,但我希望查询返回该行的其他列。我知道MAX()如何返回组中的最大整数,但我不知道如何获得最大结果的其他列。
在此示例中,我想要一个查询,从每个userId
中选择最大group
但返回userId和Name
Users
groupId | userId | name
----------------------
1 | 1 | mike
1 | 2 | dave
2 | 3 | bill
2 | 4 | steve
我希望查询的输出为
groupId | userId | name
-----------------------
1 | 2 | dave
2 | 4 | steve
我知道我能做到
select groupId, max(userId)
from Users
group by groupId;
然后再次对用户执行子查询。我只是想看看是否有更好的方法。
如果重要,我正在使用MySQL
答案 0 :(得分:3)
试试这个
select * from users
join (select groupId, max(userId) as maxU from Users group by groupId) xx
on xx.groupId=users.groupId and users.userId=xx.maxU