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

相关推荐
码事漫谈2 小时前
当AI开始“思考”:我们是否真的准备好了?
前端·后端
沃尔威武2 小时前
数据库 Sinks(.net8)
数据库·.net·webview
014-code3 小时前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言
Dreamboat¿3 小时前
SQL 注入漏洞
数据库·sql
铁东博客4 小时前
Go实现周易大衍筮法三变取爻
开发语言·后端·golang
java1234_小锋4 小时前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
曹牧4 小时前
Oracle数据库中,将JSON字符串转换为多行数据
数据库·oracle·json
oak隔壁找我4 小时前
SpringBoot中MyBatis的Mapper的原理
后端
被摘下的星星4 小时前
MySQL count()函数的用法
数据库·mysql
末央&4 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库