如何在mysql中汇总金额并查询最高金额的用户

时间:2014-10-15 08:47:23

标签: mysql

我的表格记录如下;

no. name  amount
1.  joh   100
2.  cathy 100
3.  phyo  300
4.  phyo  100
5.  joh   100
6.  cathy 50

我想总结每个名称的数量,并向最高用户查询金额。 如何在mysql中进行这些查询。

4 个答案:

答案 0 :(得分:1)

此查询应该有效:

SELECT name, SUM(amount) as total FROM user_amounts GROUP BY name ORDER BY total DESC LIMIT 1

说明:

我将解释你应该如何编写查询,或至少下次如何解决。

首先从简单的名称和数量选择开始:

SELECT name, amount FROM user_amounts

然后我们想知道每个名字的数量,所以我们有这个查询:

SELECT name, SUM(amount) as total FROM user_amounts GROUP BY name

正如您所见,我使用了SUM函数和GROUP BY,因为如果您不使用GROUP BY name,那么您的结果只会是一行。

之后我们有类似的东西

joh   200
cathy 150
phyo  400

但是我们想要第一个更高的ammouunt,所以需要订购它,我们只想要更高,所以限制1只能恢复名字

SELECT name, SUM(amount) as total FROM user_amounts GROUP BY name ORDER BY total DESC LIMIT 1

希望它会很清楚。

答案 1 :(得分:0)

试试这个。 但是这会有问题,你有一个平局。

SELECT name, SUM(amount) as total
 FROM user_amounts 
GROUP BY name ORDER BY 2 desc LIMIT 1

答案 2 :(得分:0)

您有两个部分 - 1)首先需要汇总个人用户数据2)找出最高数据。通过回答SQL query to sum the data来检查这个问题,你会明白这样做。使用select name, sum(amount) as total from table group by name order by total DESC

答案 3 :(得分:0)

SELECT name, SUM(amount) as total FROM user_amounts GROUP BY name ORDER BY total SUM(Marks) DESC LIMIT 1