SQL:如何对oracle中的每一列求和?

时间:2016-08-10 10:07:54

标签: sql oracle

select t.col1 a, t.col1+...+t.coln-1 b, t.col1+...+t.coln-1+t.coln c
from table

可以直接使用b+t.col3吗?

我能想到:

with t1 as (select col1+...+coln-1 b from table)
select t2.col1 a, t1.b, t1.b+t2.coln c
from table t2
inner join t1 on t1.id=t2.id

还有另一种方法可以做到这一点。

2 个答案:

答案 0 :(得分:3)

我认为你也可以这样做。

select a, b, b+col3
from (
select t.col1 a, t.col1+t.col2 b, t.col3
from t)

答案 1 :(得分:0)

我认为这应该有效:

SELECT SUM(t.COL1) a, SUM(t.COL1 + t.COL2) b, SUM(t.COL1 + t.COL2 + t.COL3) c
FROM TABLE1 t

正如下面提到的mathguy,你不想总结和添加总数,这对我来说不是那么清楚,但现在它是有道理的:)

SELECT t.COL1 a, t.COL1 + t.COL2 b, t.COL1 + t.COL2 + t.COL3 c
FROM TABLE1 t

会给你正确的价值。