我有一个SQL问题我在这里遇到的问题: http://sqlfiddle.com/#!9/73964/1/0
我的查询如下: 选择round(sum(qty * amount),2)作为newtable的总数;
我期待零,但我得到-0.01 我在这里做错了什么?
答案 0 :(得分:1)
计算结果为-0.005
如果你将逗号后面的数字四舍五入(你正在做什么),那就是-0.01
这是正确的。
答案 1 :(得分:0)
325 * 1 -> 325
0.5 * 9.63 -> 4.815
1 * -129.24 -> -129.24
1 * -200.58 -> -200.58
+ ---------------------------
-0.005
round(-0.005) -> -0.01
答案 2 :(得分:0)
原来我应该将乘法四舍五入,而不是总和。 谢谢大家指出我无法理解:)
正确查询我所期待的是
select sum(round(qty*amount,2)) as total from newtable;