行转列2

原数据

目标数据:

 

---方法一
select t.name,
       sum(decode(t.sub, '语文',score, 0)) as "语文",
       sum(decode(t.sub, '数学',score, 0)) as "数学",
       sum(decode(t.sub, '英语',score, 0)) as "英文"
  from projects t
 group by t.name;
--方法二
with tmp_tab as
 (select t.name, t.sub,score from projects t)
select * from tmp_tab t pivot (sum(score) for sub in('语文','数学','英语'));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章