日期:2014-05-17 浏览次数:20860 次
select 地区, sum(人数) 总数, sum(case when 状态 = '通过' then 人数 else 0 end) 通过, sum(case when 状态 = '未通过' then 人数 else 0 end) 未通过 from tb group by 地区
------解决方案--------------------
select 地区, sum(人数) 总数, sum(case when 状态 = '通过' then 人数 else 0 end) 通过, sum(case when 状态 = '未通过' then 人数 else 0 end) 未通过 from tb group by 地区
------解决方案--------------------
create table test1(id number(5),地区 varchar2(20),状态 varchar2(10),人数 number(10)); insert into test1 values(1,'江苏','未通过',2112); insert into test1 values(2,'广东','未通过',3324); insert into test1 values(3,'广东','通过',23); insert into test1 values(4,'北京','未通过',2561); insert into test1 values(5,'北京','通过',152); insert into test1 values(6,'四川','未通过',672); insert into test1 values(7,'湖南','未通过',1231); select a.地区, sum(a.人数) 总数, sum(decode(a.状态,'通过',a.人数,0)) 通过, sum(decode(a.状态,'未通过',a.人数,0)) 未通过 from test1 a group by a.地区 地区 总数 通过 未通过 ---------------------------------------- 1 北京 2713 152 2561 2 广东 3347 23 3324 3 湖南 1231 0 1231 4 江苏 2112 0 2112 5 四川 672 0 672