解决SUM函数返回为NULL
解决SUM函数返回为NULL
SUM函数的作用:计算某一字段中所有行的数值和, 使用SUM函数进行对符合条件的结果行数进行求和。
问题产生:
sum 求和时会对 null 进行过滤,不计算,但如果没有返回结果,则sum 函数的返回值为 null,不是 0:
解决方式:
1. IFNULL
使用IFNULL函数进行查询,判断第一个参数是否为null,如果是 则返回结果为第二个参数(数值自定义):
select IFNULL(SUM(number),0)
2. COALESCE
使用 COALESCE函数,COALESCE()函数可以接收多个参数,并返回第一个非 NULL的参数。如果所有参数都为 NULL,则 COALESCE() 函数返回 NULL。
select COALESCE(NULL,NULL,NULL,0)
此时返回0
select COALESCE(SUM(number),0)
此时等同于 IFNULL
3. CASE表达式
使用CASE表达式,CASE WHEN语法类似if..else进行校验判断
select(CASE WHEN SUM(ad.times) IS NULL THEN 0 ELSE SUM(ad.times) END ) total
热门相关:紫府仙缘 上将大叔,狼来了! 我是仙凡 我成了暴戾帝君的小娇包 重生之女将星