库中求这几个字段的平均值,如果某字段为空或者为负值则不计算在其中,该怎么算,求解。
6 个解决方案
#1
-- 这里列出 2 个,剩下的自己加一下
select (decode(sign(Q1),null,0,-1,0,Q1) +
decode(sign(Q2),null,0,-1,0,Q2)
)
/
(decode(sign(Q1),null,0,-1,0,1) +
decode(sign(Q2),null,0,-1,0,1)
)
from mytable
#2
如果经常有这种需求的话,倒是可以考虑建一个虚拟列,该列中存储这些字段的平均值
#3
二楼大神正解。
#4
岛主大师,你好长时间不来了。
#5
多谢大神挂念,最近在忙公司的事儿,才开始,人少,事情又很多,今天忙里偷闲,来看看大家。
#6
又学习到实用的东西。
#1
-- 这里列出 2 个,剩下的自己加一下
select (decode(sign(Q1),null,0,-1,0,Q1) +
decode(sign(Q2),null,0,-1,0,Q2)
)
/
(decode(sign(Q1),null,0,-1,0,1) +
decode(sign(Q2),null,0,-1,0,1)
)
from mytable
#2
如果经常有这种需求的话,倒是可以考虑建一个虚拟列,该列中存储这些字段的平均值
#3
二楼大神正解。
#4
二楼大神正解。
岛主大师,你好长时间不来了。
#5
二楼大神正解。
岛主大师,你好长时间不来了。
多谢大神挂念,最近在忙公司的事儿,才开始,人少,事情又很多,今天忙里偷闲,来看看大家。
#6
又学习到实用的东西。