oracle pivot使用方法,Oracle Pivot简单用法
因為工作中經常需要excel或者報表輸出,了解到pivot函數,查了部分資料,實在不夠詳盡,便想自己寫一篇。pivot了解不深,只寫寫簡單用法。
table t{
c1,c2,c3,c4
}
有庫表t,其中有字段c1,c2,c3,c4
select * from (select c1,c2,c3,c4 from t) pivot(func(c1) for c2 in (v1,v2,v3))
其中func(c1)表示對c1使用func聚合函數
將輸出的字段是c3,c4,v1,v2,v3,其中v1,v1,v3可以單獨寫別名。select * 可將*換成c3,c4,v1,v2,v3其中想要輸出的值
這條語句相當于創建了一個表t2
table t2{
v1,v2,v3,
c3,c4}
其中v1相當于select func(c1) from t group by c2,c3,c4 where c2 = v1,v2,v3同理,同時輸出的c3、c4也是根據以上規則分組出來的結果顯示。
一下來看個實例:
1 CREATE tablePRODUCT2 (3 ID NUMBER(10) not null,4 PRODUCT_NAME VARCHAR2(50),5 SELL_TIME DATE,6 SELL_COUNT NUMBER(10),7 constraint PK_PRODUCT primary key(ID)8 );
插入如下數據:
然后要做的是根據2018年各產品銷售量給出各個月銷售數量表
執行以下sql:
1 SELECT *
2 FROM (SELECT A.PRODUCT_NAME, TO_CHAR(A.SELL_TIME,‘mm‘) AS mon, A.SELL_COUNT FROM PRODUCT A WHERE TO_CHAR(A.SELL_TIME,‘yyyy‘) = ‘2018‘)3 PIVOT(SUM(SELL_COUNT)4 FOR MON IN(‘01‘M1,5 ‘02‘M2,6 ‘03‘M3,7 ‘04‘M4,8 ‘05‘M5,9 ‘06‘M6,10 ‘07‘M7,11 ‘08‘M8,12 ‘09‘M9,13 ‘10‘M10,14 ‘11‘M11,15 ‘12‘ M12));
結果如下:
原文:https://www.cnblogs.com/SaltFishYe/p/10196083.html
總結
以上是生活随笔為你收集整理的oracle pivot使用方法,Oracle Pivot简单用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP从网站抓取图片并保存本地的代码
- 下一篇: 盘点那些你不知道的开源软件