3

假设我们有这张表:

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

我究竟做错了什么?!

4

2 回答 2

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 子句。如果以上两个都不起作用,我真的很困惑......

于 2009-08-13T20:51:20.447 回答
0

我发现在Select导致 Un-SUMable 表而不是 a 的命令中的某个地方left join有一个简单的join. 虽然我仍然不明白为什么会弄乱计算,但我改变了它,现在它可以工作了......我'对不起,我不能上传整个东西......

于 2009-08-17T22:24:15.613 回答