1.行转列函数PIVOT
Pivot是用于将行转换为列的关系运算符。该函数对于报告用途很有用,因为它允许您聚合和旋转数据以创建易于读取的表。在SELECT语句的FROM子句中指定PIVOT运算符。对于可以用包含透视运算符的select查询指定的其他子句没有限制。
(1)语法
(2)实例
#数据准备
CREATE TABLE star1( country VARCHAR(20) ,state VARCHAR(10) , yr INTEGER ,qtr VARCHAR(3) ,sales INTEGER ,cogs INTEGER ); insert into star1 values('USA','CA',2001,'Q1',30,15); insert into star1 values('Canada','ON',2001,'Q2', 10, 0); insert into star1 values('Canada','BC',2001,'Q3', 10 ,0); insert into star1 values('USA','NY',2001,'Q1',45, 25); insert into star1 values('USA','CA',2001,'Q2', 50 ,20); SELECT * FROM star1;
单个转换维度(Quarter)实例,将Q1、Q2、Q3季度的sales和cogs值转换为列,转换效果如下:
#写法一 SELECT * FROM star1 PIVOT ( SUM(sales) as ss1, SUM(cogs) as sc FOR qtr IN ('Q1&#