一尘不染

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

sql

我有一个查询:

SELECT COUNT(*) as votes, a.member_id 
FROM ballots a
WHERE ballot_id = 1
GROUP BY a.member_id

产生如下内容:

votes  member_id
1      paul
5      mike
3      noynoy
10     andy
2      noel

我希望能够获得“安迪”这一行,因为他获得了最高的“票数”。

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

在此先感谢您的帮助 :)


阅读 205

收藏
2021-05-23

共1个答案

一尘不染

您可以使用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
2021-05-23