oracle中求某一行某几个字段的平均值

时间:2022-01-08 15:13:52
oracle中求某一行某几个字段的平均值

库中求这几个字段的平均值,如果某字段为空或者为负值则不计算在其中,该怎么算,求解。

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


引用 3 楼 LHDZ_BJ 的回复:
二楼大神正解。


岛主大师,你好长时间不来了。

#5


引用 4 楼 卖水果的net的回复:
Quote: 引用 3 楼 LHDZ_BJ 的回复:

二楼大神正解。


岛主大师,你好长时间不来了。

多谢大神挂念,最近在忙公司的事儿,才开始,人少,事情又很多,今天忙里偷闲,来看看大家。

#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


引用 3 楼 LHDZ_BJ 的回复:
二楼大神正解。


岛主大师,你好长时间不来了。

#5


引用 4 楼 卖水果的net的回复:
Quote: 引用 3 楼 LHDZ_BJ 的回复:

二楼大神正解。


岛主大师,你好长时间不来了。

多谢大神挂念,最近在忙公司的事儿,才开始,人少,事情又很多,今天忙里偷闲,来看看大家。

#6


又学习到实用的东西。