列转行

来源:互联网 发布:上海市卫生计生数据 编辑:程序博客网 时间:2024/05/02 00:38

with temp as(
select '张三' name,'优' score from dual
union all
select '张三' name,'优' score from dual
union all
select '张三' name,'良' score from dual
union all
select '张三' name,'良' score from dual
union all
select '张三' name,'及格' score from dual
union all
select '李四' name,'优' score from dual
union all
select '李四' name,'良' score from dual
union all
select '李四' name,'良' score from dual
union all
select '李四' name,'良' score from dual
union all
select '李四' name,'及格' score from dual
union all
select '李四' name,'及格' score from dual
)
select name,
    sum(decode(score,'优',1)) as "优",
    sum(decode(score,'良',1)) as "良",
    sum(decode(score,'及格',1)) as "及格"
from temp
group by name

原创粉丝点击