【发布时间】:2025-12-10 11:20:11
【问题描述】:
我有一个这样的 sql 查询
select
group,
sum(case when field1 = 'a' then 1 else 0 end ) as typea,
sum(case when field1 = 'b' then 1 else 0 end ) as typeb
from mytable
group by group
结果是这样的
group typea typeb
1 10 30
2 20 40
效果很好,但我需要这样的结果:
group types value
1 typea 10
2 typea 30
1 typeb 20
2 typeb 40
有没有办法修改这个查询:
select
group,
sum(case when field1 = 'a' then 1 else 0 end ) as typea,
sum(case when field1 = 'b' then 1 else 0 end ) as typeb
from mytable
group by group
以便它返回我需要的结果?
注意——我正在使用 ORACLE
谢谢。
【问题讨论】: