oracle 行转列 列转行函数理解

≯℡__Kan透↙ 提交于 2019-12-10 19:20:35

1、pivot 行转列函数

含义:pivot 聚合函数(字段1) for 字段2 in (值1,值2,值3...)
将字段2中的值1,值2,值3...作为字段名称在对字段1根据聚合函数做聚合(SUM、max、min、avg等)。

例、原表为:

将这个表格转换为按列的:

select * from TABLE_20191210_PIVOT
pivot (
       max(income) for value1 in ('第一' as 第一,'第二' as 第二,'第三' as 第三)
)

解释:将income字段中的col_1作为一列重命名为第一列,col_2做为单独一列重命名为第二列,col_3做为单独一列重命名为第三列。

查找数据中有col_1、col_2、col_3的数据,对value1字段做聚合.

结果为:

2、unpivot 列转行函数

列转行函数用法与pivot函数类似

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!