Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了oracle行列转换大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

第一种是利用的decode,很普通的一种写法:

SELEct sname,sum(decode(course,'语文',score,0)) "语文",'数学',0)) "数学",'英语',0)) "英语" from score group by sname;


第二种是利用Oracle的一种函数pivot,是列转行。还有一个unpivot,是行转列

SELEct * from (SELEct sname,course,score from score)

pivot(

sum(score)

for course in(

'语文' as "语文",

'数学' as "数学",

'英语' as "英语"))

order by sname;


数据源:

Sname COURSE score

-------------------

Bill 语文 80

Bill 数学 90

Bill 英语 92

Jim 语文 78

Jim 数学 88

Jim 英语 98

两种方式结果对比:

Sname 语文 数学 英语

------------------------------

Bill 80 90 92

Jim 78 88 98

Sname 语文 数学 英语

-------------------------------

Bill 80 90 92

Jim 78 88 98

大佬总结

以上是大佬教程为你收集整理的oracle行列转换全部内容,希望文章能够帮你解决oracle行列转换所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:score