pivot函数:行转列函数:
  语法:pivot(任一聚合函数 for 需专列的值所在列名 in (需转为列名的值));
unpivot函数:列转行函数:
  语法:unpivot(新增值所在列的列名 for 新增列转为行后所在列的列名 in (需转为行的列名));
执行原理:将pivot函数或unpivot函数接在查询结果集的后面。相当于对结果集进行处理。

转换示例:

1.原始表数据:
  sql语句:select * from T_PIVOT_TEST_1 ;

    

2.用pivot函数进行行转列。其中用聚合函数对数据列进行求值,将th列中的值’COL_1‘,’COL_2‘,‘COL_3’转化为列名,并为其加上别名。
  sql语句:select * from T_PIVOT_TEST_1
    pivot (sum(er) for th in ('COL_1' as 第一列,'COL_2'as 第二列 ,'COL_3' as 第三列));
转换后结果图:

    

3.用nupivot函数进行列转行。在原sql语句上再加上unpivot函数,将列再转为行,在unpivot函数中,aa与bb为新增的列名,分别表示由列转换为行后的数据所在的列名和数据所在的列名。
sql语句:select * from T_PIVOT_TEST_1
pivot (sum(er) for th in ('COL_1' as 第一列,'COL_2'as 第二列 ,'COL_3' as 第三列))
unpivot ( aa for bb in(第一列,第二列,第三列));
转换后结果图:

    

Oracle行转列,pivot函数和unpivot函数-配合动态sql很有用相关推荐

  1. Oracle 行转列 pivot函数基本用法

    2018年9月30日22点,眼看着就10月份了,回头看下,8月份就写了一篇博客,9月一篇都没写,想着还是得续一续. 刚好前几天,帮一个群友处理了一个关于Oracle中行转列,根据查询中有的项目,动态转 ...

  2. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现 [sql] view plaincopy print? select concat(id,username) str from app_u ...

  3. unpivot用法 oracle10g,Oracle 行转列pivot 、列转行unpivot 的Sql语句总结(转)

    多行转字符串 这个比较简单,用||或concat函数可以实现 1 select concat(id,username) str from app_user 2 3 select id||usernam ...

  4. Oracle行转列 pivot函数 常见用法

    1.根据分类 select     code,     proname,     amt_jbgz,          ... from bgt_extable pivot ( sum(nvl(金额, ...

  5. oracle行转列pivot使用详解,SQL基础教程之行转列Pivot函数

    前言 未来的一个月时间中,会总结一系列SQL知识点,一次只总结一个知识点,尽量说明白,下面来说说SQL 中常用Pivot 函数(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就 ...

  6. Oracle行转列pivot

    案例一: 按天汇总学生每天学习时长 create table stu (day VARCHAR2(20),name VARCHAR2(20),len NUMBER ); INSERT INTO stu ...

  7. Oracle之行转列pivot函数

    文章目录 方法一: Oracle行转列pivot函数 方法二:使用MAX DECODE 实现 方法一: Oracle行转列pivot函数 语法:pivot(任一聚合函数 for 需要转列的值所在列名 ...

  8. Oracle SQL 行转列,pivot函数和unpivot函数

    转:Oracle行转列,pivot函数和unpivot函数 - waynelo - 博客园 (cnblogs.com) pivot函数:行转列函数: 语法:pivot(任一聚合函数 for 需专列的值 ...

  9. oracle pivot函数 后求和,Oracle行转列,pivot函数和unpivot函数

    pivot函数:行转列函数: 语法:pivot(任一聚合函数 for 需专列的值所在列名 in (需转为列名的值)): unpivot函数:列转行函数: 语法:unpivot(新增值所在列的列名 fo ...

最新文章

  1. ms 两个数组,从每个数组中取一个数相加,求最大的前k个和
  2. python中fit什么意思_使用Logit()和fit()在python中进行逻辑回归
  3. Linux/Unix the definition of cpu-nice
  4. springboot配置jasypt实现对配置文件敏感信息加密全流程详解
  5. tensorflow入门之损失函数
  6. 简单工厂 jdk源码解析
  7. Intel大坑之中的一个:丢失的SSE2 128bit/64bit 位移指令,马航MH370??
  8. mysql 重置密码语音_数字语音信号处理学习笔记语音信号的同态处理(2)
  9. linux ssh 色彩,定制多彩缤纷的 Linux SSH,告别黑白灰!
  10. ES6 中 class 和 extends 的es5实现
  11. linux内核定时器 代码,Linux内核计时器
  12. PostgreSQL视图使用特殊名称作字段时的处理
  13. 谷歌宣布退出中国 google.cn已经关闭
  14. 中国天气网城市对应城市id
  15. 【MySQL】浅谈MySQL中索引的基本操作以及背后的数据结构
  16. 【LEDE】树莓派上玩LEDE终极指南-86-OpenWrt增加踢人功能
  17. TensorFlow的几点小知识
  18. jquery $.fn $.fx是什么意思
  19. React-虚拟DOM
  20. adb升级版命令大全

热门文章

  1. 用easyx和c语言写店铺管理系统
  2. js中parentNode和parentElement的区别和用法
  3. 艾美捷人免疫球蛋白IgG4 ELISA试剂盒样品收集、处理及保存方法
  4. 李开复博士在MVP颁奖大会演讲:中国的IT行业发展
  5. mobileemumaster文件夹怎么删除_国产手机文件夹怎么全是英文名?到底哪些能删除?这下终于清楚了...
  6. Google、百度的最本质区别
  7. hexo 设置多级目录,相关总结
  8. 目录前导符不一致解决办法
  9. Android CMASReceiver 紧急广播问题集
  10. Shiro学习笔记-----小组开发前后端分离项目---登陆认证盐值加密