2017-05-25 88 views
0

我不擅长MySQL查询。有人可以帮我弄清楚如何做到这一点?从MySQL中的多行获取总数

我有这样一个表(可以称之为统计):

+----+-------+-----+ 
| id | memid | qty | 
+----+-------+-----+ 
| 1 | 99 | 0 | 
+----+-------+-----+ 
| 2 | 102 | 22 | 
+----+-------+-----+ 
| 3 | 102 | 10 | 
+----+-------+-----+ 
| 4 | 99 | 100 | 
+----+-------+-----+ 
| 5 | 17 | 25 | 
+----+-------+-----+ 
| 6 | 87 | 72 | 
+----+-------+-----+ 
| 7 | 36 | 0 | 
+----+-------+-----+ 
| 8 | 102 | 6 | 
+----+-------+-----+ 

我需要一个MySQL查询,将结合所有的memidsORDER BY ASCqtyqty每个memid

非常感谢您的帮助! :)

+0

使用'SUM'和'GROUP BY'。这是非常基本的东西。 – Barmar

+0

SO不是免费的编码服务。你必须尝试自己解决问题。如果无法正常工作,请发布您尝试的内容,我们会帮助您解决问题。 – Barmar

+0

感谢@Barmar,但请记住在发表评论时不要贬低他人。不要以为我没有先尝试过。如果你不想回应,那就不要。请不要再回应,我不想用我微不足道的事情来打扰你。 – topedge

回答

0

您可以选择SUM在查询另一个领域和数量为了它,例如:

SELECT id, memid, qty, SUM(qty) 
FROM table 
ORDER BY qty; 

请注意:SUM将返回相同值的所有行,因为这将是一个恒定值。

如果每个memid多个记录,并要计算每SUM memid那么你可以使用GROUP BY例如为:

SELECT memid, SUM(qty) AS `sum` 
FROM table 
GROUP BY memid 
ORDER BY sum; 
+0

由于您没有“GROUP BY”,这只会返回一行。 – Barmar

+0

他想要每个'memid'的总和。 'id'可能是主键和唯一。 – Barmar

+0

@Barmar OP特别提到'结合所有memids的数量',所以我有意不添加'GROUP BY'。无论如何我已经添加了另一个答案。 –