计算多列而不是SQL

时间:2015-05-04 03:59:08

标签: sql sql-server sql-server-2008-r2

我希望得到以下结果:

--------------------------------------------------------
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,公式应该是:

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

有谁知道怎么做?
谢谢。

2 个答案:

答案 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.))

但可能会有更简洁的方法来做到这一点。

答案 1 :(得分:0)

列的总和除以符号的总和。补偿零分割。

int input = Integer.parseInt(s.nextInt());
if (input == 5) {
   System.exit(0);
}