hive> select * from tmp.test_sum;
OK
1 2
NULL 3
4 2
1 NULL
select sum(a+b),sum(a)+sum(b) from tmp.test_sum;
结果:9 13
说明sum(a+b)是先a+b然后求和,那么a+b当中有一个是NULL,a+b的结果就是NULL,所以1+2+2+4 = 9
而sum(a)+sum(b)是a列求和完之后+b列的求和结果
转载于:https://my.oschina.net/lzhaoqiang/blog/3064046