国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Oracle使用pivot和unpivot函數實現行列轉換

瀏覽:5日期:2023-09-15 20:49:58
目錄一、需求說明 二、實現方法2.1、實現將上圖內容轉為行——decode函數2.2、實現將上圖內容轉為行——case when函數2.3、實現將上圖內容轉為行——pivot函數2.4、實現將上圖內容轉為列——unpivot函數一、需求說明

項目開發過程中涉及到oracle數據庫的數據操作;但是需要將數據進行列的互轉,通過查閱資料可知在oracle中有三種方式可以實現行列互轉:

①使用decode 函數;

②使用case when 函數;

③使用pivot函數;

參考:Oracle中實現行列互轉的方法分享

二、實現方法

我這里有一個數據表內容如下:

2.1、實現將上圖內容轉為行——decode函數select 'name', max(decode('course', '語文', 'score')) 語文, max(decode('course', '數學', 'score')) 數學, max(decode('course', '英語', 'score')) 英語, sum('score') 總分from 'grade'group by 'name';2.2、實現將上圖內容轉為行——case when函數select 'name', max(case when 'course' = '語文' then 'score' end) 語文, max(case when 'course' = '數學' then 'score' end) 數學, max(case when 'course' = '英語' then 'score' end) 英語, sum('score') 總分from 'grade' group by 'name';2.3、實現將上圖內容轉為行——pivot函數

pivot函數的語法:

pivot(聚合函數 for 列名 in(類型)) select t.* from((select * from 原表名稱) pivot( max(需轉的列名稱) for 需轉的列名稱 in(需轉列對應的值1,需轉列對應的值2,需轉列對應的值3 ))t

SELECT t.*,(t.語文+t.數學+t.英語)總分 from ((SELECT 'name','course','score' from 'grade')pivot( max('score') for 'course' in('語文' 語文,'數學' 數學,'英語' 英語)))t ORDER BY 'name';

2.4、實現將上圖內容轉為列——unpivot函數

需要轉的內容如下圖:

unpivot函數的語法:

SELECT 列名稱,需定義的列1名稱,需定義的列2名稱 from 表名稱 unpivot (需定義的列2名稱 for 需定義的列1名稱 in(列2值1,列2值2,列2值3));

SELECT 'name' 名字,course 課程,score 分數 from 'grade2' unpivot (score for course in('chinese','math','english'));

SELECT 名字,course 課程,score 分數 from (SELECT 'name' 名字,'chinese' 語文,'math' 數學,'english' 英語 from 'grade2') unpivot (score for course in(語文,數學,英語))

到此這篇關于Oracle使用pivot和unpivot函數實現行列轉換的文章就介紹到這了,更多相關Oracle行列轉換內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Oracle 數據庫
主站蜘蛛池模板: 欧美午夜网 | 亚洲第一黄色网 | 欧美日韩亚洲综合在线一区二区 | 国产综合在线播放 | 国产精品看片 | 国产在线精品二区韩国演艺界 | 日本农村寡妇一级毛片 | 久久国产精品免费视频 | 日本亚洲高清 | 国产一级一级一级国产片 | 一区二区在线欧美日韩中文 | 欧美xxxx性xxxxx高清视频 | 亚洲三级黄色 | 丁香久久 | 一本大道香蕉久在线不卡视频 | 日本高清在线不卡 | 萌白酱粉嫩jk福利在线观看 | 91精品国产高清久久久久久91 | 精品一久久香蕉国产线看播放 | 国产在线视频一区二区三区 | 国产精品久久毛片蜜月 | 97超在线 | 久久久在线视频精品免费观看 | 国产欧美一区二区三区免费看 | 国产高清视频在线播放 | 三级黄色毛片网站 | 久操福利视频 | 欧美色欧美亚洲高清在线视频 | 亚洲精品a| 国内精品久久影视 | 成年女人毛片免费播放视频m | 日韩三级在线观看 | 成年女人看片免费视频频 | a级国产精品片在线观看 | 一区二区中文字幕亚洲精品 | 亚洲国产综合精品 | 久草在线视频在线 | 自拍视频在线 | 在线观看亚洲欧美 | 1024手机基地在线看手机 | 亚洲视频精品在线 |