如何让SQL语句中的聚集函数sum不忽略NULL值

如何让SQL语句中的sum不忽略NULL值比如,属性value有1,2,3,NULL如果我selectsum(value)formtable显示的是6而我想按照NULL参... 如何让SQL语句中的sum不忽略NULL值
比如,属性value有1,2,3,NULL
如果我select sum(value) form table显示的是6
而我想按照NULL参与运算结果为NULL的原则,让上条语句的结果也为NULL
我应该怎么做呢?
展开
 我来答
随o天
推荐于2018-06-05 · TA获得超过3158个赞
知道大有可为答主
回答量:1740
采纳率:71%
帮助的人:2018万
展开全部
可以用nvl函数用一个默认值替换null,再用case语句判断sum。
例:假设value列之和不超过1000。
select case when sum(nvl(value,1000))>1000 then null else sum(value) end from table;
Fancccccp
2018-06-05 · TA获得超过168个赞
知道答主
回答量:336
采纳率:37%
帮助的人:71.3万
展开全部
加个case when 先判断是否存在NULL值,如果是 直接输出NULL;如果不是,正常计算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sadkilo
2012-10-23 · TA获得超过423个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:239万
展开全部

不可能的啊,我经常这样用,看下图基础数据

select sum(b) from tb

结果

如果你这有那样的问题,引用一个函数就是,将null值都当0

isnull(A,0) 函数的意思就是如果a是null,那么a就等于0

select sum(isnull(value,0)) form table

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
挠陕乙i
2012-10-22 · TA获得超过1614个赞
知道小有建树答主
回答量:451
采纳率:0%
帮助的人:123万
展开全部
decode(sum(value),0,null,sum(value))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tang19901101
2012-10-22
知道答主
回答量:29
采纳率:0%
帮助的人:9.5万
展开全部
select sum(case when value is null then null else value end ) from table
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式