我有一个疑问:

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

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

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

在此先感谢您的帮助 :)

最佳答案

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

关于sql - 在 SQL 中,如何获取特定列的最大值的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2015406/

10-16 13:13