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 @ 2023-02-23 15:42  JamieChyi  阅读(312)  评论(0)    收藏  举报  来源