比方说,我们有这个表:
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
我究竟做错了什么?!
你正在做的是正确的,你应该预料到正确的结果。 能否请您提供您正在使用的数据库,另外的模式,等的更多信息?
也许你有一些符号唯一索引?
尝试执行以下向“健全测试”您的系统:
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子句。 如果不工作后,上述两个做的,我真的很疑惑...
我发现在某处的Select
是含铅到未SUMable表,而不是一个命令left join
有一个简单的join
。虽然我还是不明白为什么这应该搞乱了计算,我改变了,现在它的工作原理......我很抱歉,我不能上传整个事情...