开发者

select max element columns from group

I'd like to select the maximum row of a group, but I'd like the query to return the other columns from that row. I know how MAX() ca开发者_Python百科n return the greatest integer in the group, but I don't know how to get the other columns for the max result.

In this example, I'd like to have a query that selects the maximum userId from each group but returns the userId and Name

Users
groupId | userId | name
----------------------
1       | 1      | mike
1       | 2      | dave
2       | 3      | bill
2       | 4      | steve

I'd like the output of the query to be

groupId | userId | name
-----------------------
1       | 2      | dave
2       | 4      | steve  

I know I could do

select groupId, max(userId)
from Users
group by groupId;

and then do a subquery again on users. I'm just looking to see if there is a better way.

If it matters, I'm using MySQL


Try this

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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜