一道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 年;


分享到:


相關文章: