当前位置:   article > 正文

ORACLE中一个简单的UNPIVOT例子

unpivot例子

【Oracle 11g版本】 

之前写过一个很简单的PIVOT的例子,这次补充一个UNPIVOT的例子,其实这个功能在日常应用中还是比较有用,以一个最简单的例子来说,数据库中有某个学生一学期的考试科目成绩,如下语句

  1. SELECT '罗飞' STU_NAME,
  2. '2001-2002' TERM,
  3. '90' 微积分,
  4. '88' 线性代数,
  5. '85' 数据结构,
  6. '70' 操作系统
  7. FROM DUAL

 

执行之后是如下结果:

 

现在需要找出这个学生2001到2002学期考试成绩得分最低的科目,因为传统的关系数据库是按照行存储,而MAX()和MIN()仅仅对列生效,所以,必然要进行一个行列转换,否则,只能通过写过程的方式来实现,还好,Oracle 11g开始提供了这个函数,UNPIVOT(),稍微调整一下代码如下:

  1. SELECT COURSE_MARK
  2. FROM (SELECT '
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/675686
推荐阅读
相关标签
  

闽ICP备14008679号