欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL 内置函数(pivot) 纵转横

程序员文章站 2024-02-06 14:00:34
...

1.创建表: create table test(id int,name varchar(20),quarter int,profile int)) insert into test values(1,

1.创建表:

create table test(id int,name varchar(20),quarter int,profile int))

insert into test values(1,'a',1,1000);
insert into test values(1,'a',2,1000);
insert into test values(1,'a',3,1000);
insert into test values(1,'a',4,1000);
insert into test values(2,'a',1,1000);
insert into test values(2,'a',2,1000);
insert into test values(2,'a',3,1000);
insert into test values(2,'a',4,1000);


2. Pivot 用法

select id,name,[1] as '1th Season',[2] as '2th Season',[3] as '3th Season',[4] as '4th Season'
from test
pivot
(
sum(profile)
for quarter in ([1],[2],[3],[4])
)as pvt

select * from test

SQL 内置函数(pivot) 纵转横



3.Unpivot

select * from test2
select id,name,quarters,profiles
from test2
unpivot
(
profiles
for quarters in ([Q1],[Q2],[Q3],[Q4])
)
as unpvt

SQL 内置函数(pivot) 纵转横

SQL 内置函数(pivot) 纵转横