Oracle行列转换pivot函数的详细使用

1、准备一张现成的表

 

 2、现在我要把SEX当成列,将AGE值放入该列的结果,使用pivot语句

SELECT
	* 
FROM
	t_tuser pivot ( max( AGE ) FOR SEX IN ( '1' AS 男, '0' AS 女 ) )

 3、使用decode函数的方法

SELECT
	id,
	max( decode( SEX, '1', AGE ) ) 男,
	max( decode( SEX, '0', AGE ) ) 女,
	sum(AGE) 总年龄
FROM
	t_tuser 
GROUP BY
	id

 4、使用case when函数

SELECT
	id,
	max(case when SEX = '1' then AGE end) 男, 
    max(case when SEX = '0' then AGE end) 女, 
	sum(AGE) 总年龄
FROM
	t_tuser 
GROUP BY
	id

 

posted @   JamieChyi  阅读(294)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-02-23 NodeJS对mysql数据库的简单操作
点击右上角即可分享
微信分享提示