2015-05-04 41 views
1

我想有以下結果:計數多列

-------------------------------------------------------- 
V1  V2  V3  Result 
-------------------------------------------------------- 
5  10  15  10 
4  0  10  7 
2  2  0  2 

我的表:

-------------------- 
V1  V2  V3  
-------------------- 
5  10  15  
4  0  10  
2  2  0  

我想要做的是,平均V1,V2,V3的列但沒有平均的零值。如果我使用的Excel,公式是768,16:

=(V1 + V2 + V3)/COUNTIF(V1, V2, V3, "<>0") 

有誰知道如何做到這一點?
謝謝。

回答

2

一種方法是用CASE WHEN

(V1 + V2 + V3)/
((CASE WHEN V1 <> 0 THEN 1 ELSE 0 END) + 
(CASE WHEN V2 <> 0 THEN 1 ELSE 0 END) + 
etc.)) 

但是可能沒有詳細的方法來做到這一點。

0

列之和除以符號之和。補償零分。

SELECT 
    (v1+v2+v3)/nullif(sign(v1) + sign(v2) + sign(v3), 0)