oracle中的PIVOT函数

场景:原始数据不是想要的效果,需要我们进行处理,这得使用pivot函数(列转行,行转列)
原始表展示内容如下:

sql 复制代码
select * from your_table


需求:我们需要将年份、类型名称按行显示其值!
解决方案: pivot函数

sql 复制代码
SELECT FNAME, a2019, a2020, a2021, a2022
	FROM V_BP_ZYJJZB
	PIVOT (MAX(FVALUE) FOR F_SYS_YEAR IN ('2019' AS a2019, '2020' AS a2020, '2021' AS a2021, '2022' AS a2022))

显示效果:
SQL解读:pivot语法[pivot (... for ... in ...)],其中'2019' AS a2019为字段值起别名,方便在SELECT后引用。

相关推荐
Lyyaoo.几秒前
【JAVA基础面经】native方法
java·开发语言
a***72892 分钟前
SQL 注入漏洞原理以及修复方法
网络·数据库·sql
牛十二2 分钟前
nacos2.4连接出错源码分析
java·linux·开发语言
懒铭心5 分钟前
RHEL 6.10 + Oracle 11.2.0.4 RAC 高可用集群部署指南
oracle
Go_error9 分钟前
Go channel 数据聚合
后端·go
qq_372906939 分钟前
Python最短路径怎么求_Dijkstra算法与优先队列结合
jvm·数据库·python
qq_330037999 分钟前
如何查看集群版本_crsctl query crs activeversion当前版本
jvm·数据库·python
阿巴斯甜10 分钟前
userList.stream().sorted((u1, u2) -> u2.getAge() - u1.getAge()); 怎么判断是升序还是降序?
java
小松加哲10 分钟前
AspectJ编译期织入实战
java·开发语言
贺小涛13 分钟前
python和golang进程、线程、协程区别
java·python·golang