oracle行转列 case when 语句

使用case when 语句 方便处理一些需要进行行转列,统计方面的一些数据
需要自己查看decode函数

with a as (
select t.*,
case
	when t.attretion1 = '1' then '1'
	when t.attretion1 = '2' then '2'
	end plan_status
from table_name t
where 
1=1--(条件之类的)
)
select a.id,--(之类的字段看自己需要)
sum(decode(plan_status,'1',1,0)) as count1,
sum(decode(plan_status,'2',1,0)) as count2
from a
group by  a.id--(同上需要的字段保持一致)

此统计得出 count1和 count2 数值

你可能感兴趣的:(数据库)