当前位置:数据库 > SQL语言> 正文

sql 多列求和 当某列有null值时的处理

时间:2016-4-8类别:数据库

sql 多列求和 当某列有null值时的处理

sql 多列求和 当某列有null值时的处理

一、SQL几列求和实例

 

1、比如表usr_table,表有四列

usr, item1, item2, item3

 

2、针对每个user对item1,item2,item3求和的sql为

select item1+item2+item3 as itemAdd,usr  from usr_table

 

3、如果有一列的值为null时,会导致求不出结果,返回值为 null

 

4、如果是sum等聚合函数,如果某一行的某列有null值,则 以为某条记录相加的结果为 null,从而导致 sum 结果不准确。

 

 

二、解决方法

 

1、对每列加上 是否为空的判断,如果为空,则赋值0。

2、例如:SQL SERVER中,使用 ISNULL函数;MYSQL中使用 IFNULL函数

3、上面实例的SQL语句做如下修改

select isnull(item1,0)+isnull(item2,0)+isnull(item3,0) as itemAdd, usr from usr_table

select sum(isnull(item1,0)+isnull(item2,0)+isnull(item3,0))as itemSum  from usr_table

 

标签:
上一篇下一篇

猜您喜欢

热门推荐