所以也许我的问题标题不是最相关的,但我在sql中并不擅长,我肯定需要学习它(所以暗示一些书会非常有用)
无论如何,我得到的表有以下(重要)列:
user_id,username,revenue
和这样的记录:
1,john,39
2,mark,53
3,philipp,7
1,john,17
2,mark,3
2,mark,100
我需要获得收入最高的用户,因此我需要获取所有行,计算总收入并打印总收入最高的用户。
任何提示;)?
答案 0 :(得分:3)
您可以使用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
有了这个,你就可以计算出每个用户的收入,你可以通过减少总数来获得收入,只获得第一个收入,这样你就可以获得最高的收入。