在使用GROUP BY不工作的MySQL SUM(MySQL SUM when using GROU

2019-09-23 14:18发布

比方说,我们有这个表:

Symbol | Size
A      | 12
B      | 5
A      | 3
A      | 6
B      | 8

我们希望这样的观点:

Symbol | Size
A      | 21
B      | 13

所以我们用这个:

Select Symbol, sum(Size) from table group by Symbol order by Symbol ASC

而是我们得到这样的:

Symbol | Size
A      | 12
B      | 5

我究竟做错了什么?!

Answer 1:

你正在做的是正确的,你应该预料到正确的结果。 能否请您提供您正在使用的数据库,另外的模式,等的更多信息?

也许你有一些符号唯一索引?

尝试执行以下向“健全测试”您的系统:

SELECT SUM(Size) FROM table

应导致34

SELECT Symbol, Count(*) FROM table GROUP BY Symbol

如若结果3和2

如果两个完全为你注意到上述工作,请尝试:

SELECT Symbol, Count(*), Sum(Size) FROM table GROUP BY Symbol

这是你的代码,以计数的增加(*)和没有ORDER BY子句。 如果不工作后,上述两个做的,我真的很疑惑...



Answer 2:

我发现在某处的Select是含铅到未SUMable表,而不是一个命令left join有一个简单的join 。虽然我还是不明白为什么这应该搞乱了计算,我改变了,现在它的工作原理......我很抱歉,我不能上传整个事情...



文章来源: MySQL SUM when using GROUP BY not working