使用GROUP BY时MySQL MySQL不工作

时间:2009-08-13 20:47:10

标签: mysql select group-by sum

假设我们有这张表:

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

我做错了什么?!

2 个答案:

答案 0 :(得分:3)

你做得对,你应该期待正确的结果。您能否提供有关您正在使用的数据库,其他模式等的更多信息?

也许你对Symbol有一些独特的索引?

尝试执行以下操作来“完整性地测试”您的系统:

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

这是您的代码,添加了Count(*)且没有ORDER BY子句。如果在上述两个方法之后不起作用,我真的很困惑......

答案 1 :(得分:0)

我发现导致Un-SUMable表而不是Select的{​​{1}}命令中的某个地方有一个简单的left join。虽然我仍然不明白为什么应该弄乱计算,我改变了,现在它有效......对不起,我无法上传整件事......