构造表和数据
CREATE TABLE Sales(Year INTEGER,Quarter INTEGER,Results INTEGER);
insert into sales values(2005,4,27);
insert into sales values(2005,3,12);
insert into sales values(2005,2,40);
insert into sales values(2005,1,18);
insert into sales values(2004,4,10);
insert into sales values(2004,3,15);
insert into sales values(2004,2,30);
insert into sales values(2004,1,20);
select * from sales order by year,quarter
YEAR QUARTER RESULTS
---- ------- -------
2004 1 20
2004 2 30
2004 3 15
2004 4 10
2005 1 18
2005 2 40
2005 3 12
2005 4 27
如果想转换成下面的样子
YEAR Q1 Q2 Q3 Q4
---- -- -- -- --
2004 20 30 15 10
2005 18 40 12 27
转换SQL
SELECT Year
,MAX(CASE
WHEN Quarter = 1
THEN Results
END) AS Q1
,MAX(CASE
WHEN Quarter = 2
THEN Results
END) AS Q2
,MAX(CASE
WHEN Quarter = 3
THEN Results
END) AS Q3
,MAX(CASE
WHEN Quarter = 4
THEN Results
END) AS Q4
FROM Sales
GROUP BY YEAR
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/725820/viewspace-2132493/