使用SUM() 遇到的坑
遇到的问题
select sum(out) ,sum(in),sum(out+in) from table
结果: 3,4,6
第一反应结果不应该是3,4,7嘛???
解决办法:
select sum(out) ,sum(in),sum(out)+sum(in) from table
测试一下
select sum(out) ,sum(in),sum(out+in) from table
结果: 3,4,6
select * from table
结果
id out in
1 1 null
2 1 2
3 1 2
测试
select sum(out+in) where id = 1;
结果
null
结论
事实说明:sum()在做一列的加法时,字段有null是没有问题。
在做多列求和中,应先分开求每列之和,再相加。