MySQL - 结果组中的最大值

时间:2013-01-29 11:03:39

标签: mysql sql

所以也许我的问题标题不是最相关的,但我在sql中并不擅长,我肯定需要学习它(所以暗示一些书会非常有用)

无论如何,我得到的表有以下(重要)列:

user_id,username,revenue

和这样的记录:

1,john,39
2,mark,53
3,philipp,7
1,john,17
2,mark,3
2,mark,100

我需要获得收入最高的用户,因此我需要获取所有行,计算总收入并打印总收入最高的用户。

任何提示;)?

1 个答案:

答案 0 :(得分:3)

您可以使用ORDER BYLIMIT

SELECT user_id, username, SUM(revenue) FROM table
GROUP BY user_id /* add ', username' ONLY if two different usernames with the same user_id is a possible case */
ORDER BY SUM(revenue) DESC
LIMIT 0,1

有了这个,你就可以计算出每个用户的收入,你可以通过减少总数来获得收入,只获得第一个收入,这样你就可以获得最高的收入。