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


浙公网安备 33010602011771号