码迷,mamicode.com
首页 > 数据库 > 详细

一道SQL面试题(行列互换)

时间:2015-04-13 11:01:32      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:sql   数据库   面试题   行列互换   

有一个SQL题在面试中出现的概率极高,最近有学生出去面试仍然会遇到这样的题目,在这里跟大家分享一下。

题目:数据库中有一张如下所示的表,表名为sales。

季度 销售量
1991 1 11
1991 2 12
1991 3 13
1991 4 14
1992 1 21
1992 2 22
1992 3 23
1992 4 24



要求:写一个SQL语句查询出如下所示的结果。

一季度 二季度 三季度 四季度
1991 11 12 13 14
1992 21 22 23 24



我给出的答案是这样的:

select 年, 
sum(case when 季度=1 then 销售量 else 0 end) as 一季度, 
sum(case when 季度=2 then 销售量 else 0 end) as 二季度, 
sum(case when 季度=3 then 销售量 else 0 end) as 三季度, 
sum(case when 季度=4 then 销售量 else 0 end) as 四季度 
from sales group by 年;

一道SQL面试题(行列互换)

标签:sql   数据库   面试题   行列互换   

原文地址:http://blog.csdn.net/jackfrued/article/details/45021897

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!