MySQL - 结果组中的最大值

标签 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

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

有什么提示 ;) 吗?

最佳答案

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

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

关于MySQL - 结果组中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14581407/

相关文章:

php - 更新表a和表b

MySql - 客户端超时

sql - MSSQL 中 ISNULL() 的奇怪行为

sql - 编写此查询以将小时添加到日期的最简洁方法

MYSQL - 根据行号查找记录

sql - 如何使用 SQL 创建矩阵

php - 通过 phpmyAdmin 恢复 mysql 中的大型数据库

mysql - T-sql查询问题

javascript - 无法使用 Sequelize 连接到 MySQL

SQL 除了性能