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 小时前
VSCode的Copilot扩展支持接入DeepSeek,Kimi了!
前端·后端·程序员
我不是外星人3 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
candyTong3 小时前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
Rust研习社6 小时前
组合真的优于继承吗?为什么 Rust 和 Go 都拥抱组合舍弃继承?
后端·rust·编程语言
IT_陈寒6 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
CaffeinePro7 小时前
Pydantic深度使用:数据校验、枚举、ORM映射
后端·fastapi
Chenyiax7 小时前
从 Chat 到 Responses:OpenAI API 抽象为什么变了?
后端
MariaH7 小时前
Koa和Express的区别
后端
MariaH7 小时前
Koa框架的使用
后端
luckdewei8 小时前
那个用 passlib 做认证的新同事,上线第一天就把用户密码写进了日志
后端