SQL 實現行列互換


Oracle:不過大多數是采用 oracle 數據庫當中的一些便捷函數進行處理,比如 ”pivot”;

MySql:目前沒有找到更好的方法

題目:數據庫中有一張如下所示的表,表名為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


我給出的答案是這樣的:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM