所以也许我的问题标题不是最相关的,但我不擅长 sql,我肯定需要学习它(所以一些书的提示会非常有用)
无论如何我得到了包含以下(重要)列的表格:
user_id,username,revenue
和这样的记录:
1,john,39
2,mark,53
3,philipp,7
1,john,17
2,mark,3
2,mark,100
我需要获取收入最高的用户,所以我需要获取所有行,计算总收入并打印总收入最高的用户。
有什么提示 ;) 吗?
最佳答案
您可以使用 ORDER BY
和 LIMIT
:
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
有了这个,您将计算每个用户的收入,您通过减少总数来订购并只获得第一个,这样您就可以获得最高的收入。
关于MySQL - 结果组中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14581407/