在SQL中,如何获取具有特定列的最大值的行?

Oba*_*bay 4 mysql sql

我有一个问题:

SELECT COUNT(*) as votes, a.member_id 
FROM ballots a
WHERE ballot_id = 1
GROUP BY a.member_id
Run Code Online (Sandbox Code Playgroud)

产生类似于:

votes  member_id
1      paul
5      mike
3      noynoy
10     andy
2      noel
Run Code Online (Sandbox Code Playgroud)

我希望能够得到"andy"这一行,因为他获得了最高的"选票".

如何更改查询以执行此操作?

在此先感谢您的帮助 :)

Ric*_*ams 5

您可以使用ORDER BY然后DESC按降序从最高票数到最低票数进行订购.然后LIMIT结果只有一行(即最高).

SELECT COUNT(*) as votes, a.member_id 
FROM ballots a
WHERE ballot_id = 1
GROUP BY a.member_id
ORDER BY votes DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)