使用SUM() 遇到的坑

使用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是沒有問題。
在做多列求和中,應先分開求每列之和,再相加。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章