求和列名称来自另一列的值的列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求和列名称来自另一列的值的列相关的知识,希望对你有一定的参考价值。
我想对一个列名称来自另一个列值的列进行求和(Col.2)
Col.1 Col.2 Q1 Q2 Q3
a Q1 1 1 4
a Q1 2 1 1
c Q1 2 1 2
已经尝试过的案例功能似乎没有希望
select col.1, col.2, sum(case when col.2='Q1' then 'Q1',
when col.2='Q2' then 'Q2' end as Total)
from tabl
group by col.1, col.2
Col.1 Col.2 Q1
a Q1 3
c Q1 2
答案
如果我理解得很好,您可能需要:
select Col1, Col2,
sum(
case
when Col2='Q1' then Q1
when Col2='Q2' then Q2
else 0
end
) as Total
from yourTable
group by Col1, Col2
例如,带有您的示例数据:
with yourTable(Col1, Col2, Q1, Q2, Q3) as (
select 'a', 'Q1', 1, 1, 4 from dual union all
select 'a', 'Q1', 2, 1, 1 from dual union all
select 'c', 'Q1', 2, 1, 2 from dual
)
select Col1, Col2,
sum(
case
when Col2='Q1' then Q1
when Col2='Q2' then Q2
else 0
end
) as Total
from yourTable
group by Col1, Col2
给予:
COL1 COL2 TOTAL
---- ---- ----------
a Q1 3
c Q1 2
以上是关于求和列名称来自另一列的值的列的主要内容,如果未能解决你的问题,请参考以下文章
保留数据框中的行,对于某些列的值的所有组合,在另一列中包含相同的元素