假设我们有这张表:
Symbol | Size
A | 12
B | 5
A | 3
A | 6
B | 8
我们想要这样的 View :
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
我做错了什么?!
最佳答案
你做得对,你应该期待正确的结果。您能否提供有关您正在使用的数据库、其他模式等的更多信息?
也许您在 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 子句。如果上面两个都不行的话,我真的很纳闷...
关于使用 GROUP BY 时 MySQL SUM 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1274482/