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后引用。

相关推荐
watersink3 分钟前
第16章 案例特训专题【数据库篇】
数据库
爬山算法3 分钟前
MongoDB(78)什么是MongoDB的事务?
数据库·mongodb
ego.iblacat13 分钟前
MySQL 高可用
数据库·mysql·adb
阿里小阿希18 分钟前
PostgreSQL 判断大导入是否正在执行 pg_stat_activity
数据库·postgresql
xrui5821 分钟前
PostgreSQL异常:An IO error occurred while sending to the backend
数据库·postgresql
花千树-01023 分钟前
Java 实现 ReAct Agent:工具调用与推理循环
java·spring boot·ai·chatgpt·langchain·aigc·ai编程
不早睡不改名@40 分钟前
Netty源码解析---FastThreadLocal-addToVariablesToRemove方法详解
java·网络·笔记·学习·netty
卢傢蕊41 分钟前
PostgreSQL 初体验
数据库·postgresql
softshow102643 分钟前
PostgreSQL 12 完整部署+迁移+数据恢复
数据库·postgresql
bearpping1 小时前
关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
数据库·mysql