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

相关推荐
IT_陈寒16 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰16 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
这个DBA有点耶17 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
用户83562907805117 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
小满zs17 小时前
Go语言第二章(小无相功)
后端·go
用户83562907805117 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
karry_k17 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
妙码生花17 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
贰先生17 小时前
Xiuno BBS X版 用户封禁系统
后端
karry_k17 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端