您的位置:首页 > 数据库 > Oracle

Oracle 行转列总结 Case When,Decode,PIVOT 三种方式

2012-11-21 00:00 579 查看
Decode 方式

SELECT a.COUNTRY AS "国家",

SUM(DECODE(a.SEX, 1, a.POPULCATION)) AS "男",

SUM(DECODE(a.SEX, 2, a.POPULCATION)) AS "女"

FROM populations a

GROUP BY a.COUNTRY

--------------------------------------

Case When 方式

SELECT a.COUNTRY AS "国家",

SUM(CASE

WHEN a.SEX = 1 THEN

a.POPULCATION

END) AS "男",

SUM(CASE

WHEN a.SEX = 2 THEN

a.POPULCATION

END) AS "女"

FROM populations a

GROUP BY a.COUNTRY

--------------------------------------

PIVOT 方式 11G特有的方式

SELECT *

FROM (SELECT a.COUNTRY AS "国家", a.SEX, a.POPULCATION FROM populations a)

PIVOT(

SUM(POPULCATION)

FOR SEX IN(1 AS "男",2 AS "女"))
本文出自 “无心网络” 博客,请务必保留此出处http://avenwuss.blog.51cto.com/6228645/1065365
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: