3,491
社区成员
发帖
与我相关
我的任务
分享
with tb as(
select 1 id,'a' name,'201001' yearmon,1 type,14 value1,43 value2 from dual union all
select 2,'a','201002',1,42,64 from dual union all
select 3,'a','201003',1,14,53 from dual union all
select 4,'a','201004',1,33,56 from dual union all
select 5,'a','201005',1,42,64 from dual union all
select 6,'a','201006',1,25,75 from dual union all
select 7,'a','201007',1,26,45 from dual union all
select 8,'a','201008',1,34,63 from dual union all
select 9,'a','201009',1,38,51 from dual union all
select 10,'a','201001',2,null,8 from dual union all
select 11,'a','201002',2,null,5 from dual union all
select 12,'a','201003',2,null,8 from dual union all
select 13,'a','201004',2,null,6 from dual union all
select 14,'a','201005',2,null,8 from dual)
--以上为提供数据的语句
select min(id) id,name,yearmon,max(decode(type,1,value1,null)) value1,
sum(decode(type,2,value2,value1)) value2
from tb
group by name,yearmon
order by id
ID N YEARMO VALUE1 VALUE2
--------- - ------ ---------- ----------
1 a 201001 14 22
2 a 201002 42 47
3 a 201003 14 22
4 a 201004 33 39
5 a 201005 42 50
6 a 201006 25 25
7 a 201007 26 26
8 a 201008 34 34
9 a 201009 38 38