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

相关推荐
wanghowie4 分钟前
01.07 Java基础篇|函数式编程与语言新特性总览
java·开发语言·面试
Cricyta Sevina10 分钟前
Java IO 基础理论知识笔记
java·开发语言·笔记
木风小助理12 分钟前
B+树何以成为数据库索引的“天选之结构”?
数据库
7ioik14 分钟前
为什么lnnoDB存储引擎默认使用B+树作为索引结构?
数据库·b树·oracle
码luffyliu22 分钟前
系统优化:从压测到性能飞升
后端·压力测试
小萌新上大分36 分钟前
java线程通信 生产者消费者,synchronized,,ReentrantLock,Condition(笔记备份)
java·多线程·lock·java线程间通信的方式·reentrantlock使用·生产者消费者问题java·java多线程与高并发
それども1 小时前
Spring Bean 的name可以相同吗
java·后端·spring
上进小菜猪1 小时前
基于深度学习的农业虫害自动识别系统:YOLOv8 的完整工程
后端
墨雪不会编程1 小时前
C++ string 详解:STL 字符串容器的使用技巧
java·开发语言·c++
Lucky GGBond1 小时前
实践开发:老系统新增字段我是如何用枚举优雅兼容历史数据的
java