当前位置: 代码迷 >> Oracle开发 >> ORACLE怎么求几列数的平均值
  详细解决方案

ORACLE怎么求几列数的平均值

热度:89   发布时间:2016-04-24 06:37:35.0
ORACLE如何求几列数的平均值
如题,AVG函数只是求一列数的平均值,并且可以忽略空值计算
但例如现在有3列数:
‘’,‘1’,‘3’
怎么可以得出这3列数的一个平均值,忽略空值,得出结果为2
谢谢!
------解决方案--------------------
特别注意不要出现除0错误
DECODE(DECODE(A,NULL,0,1)+DECODE(C,NULL,0,1)+DECODE(C,NULL,0,1),0,NULL,
nvl(A,0)+NVL(B,0)+NVL(C,0)/DECODE(A,NULL,0,1)+DECODE(C,NULL,0,1)+DECODE(C,NULL,0,1)
)

------解决方案--------------------
引用:
特别注意不要出现除0错误
DECODE(DECODE(A,NULL,0,1)+DECODE(C,NULL,0,1)+DECODE(C,NULL,0,1),0,NULL,
nvl(A,0)+NVL(B,0)+NVL(C,0)/DECODE(A,NULL,0,1)+DECODE(C,NULL,0,1)+DECODE(C,NULL,0,1)
)

(c1+c2+c3)/decode(decode(c1,null,0,1)+decode(c2,null,0,1)+decode(c3,null,0,1),0,1,decode(c1,null,0,1)+decode(c2,null,0,1)+decode(c3,null,0,1))
  相关解决方案