假设我们有这张表:
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
我做错了什么?!
答案 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
。虽然我仍然不明白为什么应该弄乱计算,我改变了,现在它有效......对不起,我无法上传整件事......