Oracle 中 unpivot 与 pivot 的使用范例

//1.数据结构:

表:stu_list

主键ID,姓名,语文,数学,英语
1     ,张三,  80,  90,  70
2     ,李四,  81,  91,  71
3     ,王五,  82,  92,  72

//2列转换为行显示

-- unpivot:列转行显示

select 主键ID,姓名,科目,分数 from stu_list
unpivot (分数 for 科目 in (语文,数学,英语)) where 2>1

“分数”与" 科目" 为自定义


//3行转换列显示

-- pivot:行转列显示

select * from stu_list pivot (max(语文) for 姓名 in ('张三'张三,‘李四’李四,'王五'王五))

"max(语文)=列显示值字段“

"姓名=为需要转为列头的原列名"



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