日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

oracle行轉(zhuǎn)列與列轉(zhuǎn)行的幾種方式匯總

瀏覽:298日期:2023-09-22 20:54:42
目錄1、準備數(shù)據(jù):REST表2、查詢數(shù)據(jù)3、行轉(zhuǎn)列方式1:使用 case when then方式方式2: 使用 decode函數(shù)方式3:使用pivot函數(shù)4、列轉(zhuǎn)行5、直接使用unpivot函數(shù) --列轉(zhuǎn)行總結(jié) 1、準備數(shù)據(jù):REST表-- 創(chuàng)建表RESTCREATE TABLE REST ( 'ID' NUMBER, 'AMOUNT' NUMBER(19,0), 'MONTH' VARCHAR2(255 BYTE));--執(zhí)行添加數(shù)據(jù)語句INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('1', '100', 'Jan');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('1', '100', 'Feb');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('1', '66', 'Mar');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('1', '77', 'Jun');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('1', '88', 'Dec');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('1', '12', 'Aug');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('2', '22', 'Feb');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('2', '33', 'Apr');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('2', '232', 'Jul');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('2', '43', 'Sep');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('2', '544', 'Oct');INSERT INTO 'CERPAWCSADM'.'REST' VALUES ('2', '65', 'Nov');2、查詢數(shù)據(jù)

3、行轉(zhuǎn)列方式1:使用 case when then方式

case 條件

when 值1 then 返回值1

when 值2 then 返回值2

..........

else 默認值

end

-- 使用case when 方式SELECTid,sum( CASE month WHEN 'Jan' THEN amount ELSE 0 END ) AS Jan_amount,sum( CASE month WHEN 'Feb' THEN amount ELSE 0 END ) AS Feb_amount,sum( CASE month WHEN 'Mar' THEN amount ELSE 0 END ) AS Mar_amount,sum( CASE month WHEN 'Apr' THEN amount ELSE 0 END ) AS Apr_amount,sum( CASE month WHEN 'May' THEN amount ELSE 0 END ) AS May_amount,sum( CASE month WHEN 'Jun' THEN amount ELSE 0 END ) AS Jun_amount,sum( CASE month WHEN 'Jul' THEN amount ELSE 0 END ) AS Jul_amount,sum( CASE month WHEN 'Aug' THEN amount ELSE 0 END ) AS Aug_amount,sum( CASE month WHEN 'Sep' THEN amount ELSE 0 END ) AS Sep_amount,sum( CASE month WHEN 'Oct' THEN amount ELSE 0 END ) AS Oct_amount,sum( CASE month WHEN 'Nov' THEN amount ELSE 0 END ) AS Nov_amount,sum( CASE month WHEN 'Dec' THEN amount ELSE 0 END ) AS Dec_amount FROMREST GROUP BYid

case when 另一種方式:

case when 條件 = 值1 then 返回值1

case when 條件 = 值1 then 返回值1

else 默認值

end

SELECTid,sum( CASE WHEN month ='Jan' THEN amount ELSE 0 END ) AS Jan_amount,sum( CASE WHEN month = 'Feb' THEN amount ELSE 0 END ) AS Feb_amount,sum( CASE WHEN month = 'Mar' THEN amount ELSE 0 END ) AS Mar_amount,sum( CASE WHEN month = 'Apr' THEN amount ELSE 0 END ) AS Apr_amount,sum( CASE WHEN month = 'May' THEN amount ELSE 0 END ) AS May_amount,sum( CASE WHEN month = 'Jun' THEN amount ELSE 0 END ) AS Jun_amount,sum( CASE WHEN month = 'Jul' THEN amount ELSE 0 END ) AS Jul_amount,sum( CASE WHEN month = 'Aug' THEN amount ELSE 0 END ) AS Aug_amount,sum( CASE WHEN month = 'Sep' THEN amount ELSE 0 END ) AS Sep_amount,sum( CASE WHEN month = 'Oct' THEN amount ELSE 0 END ) AS Oct_amount,sum( CASE WHEN month = 'Nov' THEN amount ELSE 0 END ) AS Nov_amount,sum( CASE WHEN month = 'Dec' THEN amount ELSE 0 END ) AS Dec_amount FROMREST GROUP BYid

結(jié)果為:

方式2: 使用 decode函數(shù)

decode函數(shù): DECODE(條件, 值1, 返回值1, 值2,返回值2, 值3,返回值3, . . . else 缺省值)

含義:if 條件 = 值1 then 返回值1 elsif 條件 = 值2 then 返回值2 else (缺省值) endif

--使用decode函數(shù)SELECTid,sum( decode( month, 'Jan', amount, 0 ) ) Jan_amount,sum( decode( month, 'Feb', amount, 0 ) ) Feb_amount,sum( decode( month, 'Mar', amount, 0 ) ) Mar_amount,sum( decode( month, 'Apr', amount, 0 ) ) Apr_amount,sum( decode( month, 'May', amount, 0 ) ) May_amount,sum( decode( month, 'Jun', amount, 0 ) ) Jun_amount,sum( decode( month, 'Jul', amount, 0 ) ) Jul_amount,sum( decode( month, 'Aug', amount, 0 ) ) Aug_amount,sum( decode( month, 'Sep', amount, 0 ) ) Sep_amount,sum( decode( month, 'Oct', amount, 0 ) ) Oct_amount,sum( decode( month, 'Nov', amount, 0 ) ) Nov_amount,sum( decode( month, 'Dec', amount, 0 ) ) Dec_amount FROMREST GROUP BYid

結(jié)果和方式1一樣

方式3:使用pivot函數(shù)

pivot(<聚合函數(shù)>(要聚合的列)for <要轉(zhuǎn)換的列> in (要轉(zhuǎn)換的列值 as 要轉(zhuǎn)換成的列名))

SELECT* FROM REST pivot (SUM(amount) FOR month IN ('Jan' AS Jan_amount,'Feb' AS Feb_amount,'Mar' AS Mar_amount,'Apr' AS Apr_amount,'May' AS May_amount,'Jun' AS Jun_amount,'Jul' AS Jul_amount,'Aug' AS Aug_amount,'Sep' AS Sep_amount,'Oct' AS Oct_amount,'Nov' AS Nov_amount,'Dec' AS Dec_amount ) );

結(jié)果為:這個結(jié)果會發(fā)現(xiàn),如果數(shù)據(jù)為空沒有賦值為0

下面這個方法解決null 轉(zhuǎn)為0 問題

SELECTNVl(Jan_amount,0) Jan_amount,NVl(Feb_amount,0) Feb_amount,NVl(Mar_amount,0) Mar_amount,NVl(Apr_amount,0) Apr_amount,NVl(May_amount,0) May_amount,NVl(Jun_amount,0) Jun_amount,NVl(Jul_amount,0) Jul_amount,NVl(Aug_amount,0) Aug_amount,NVl(Sep_amount,0) Sep_amount,NVl(Oct_amount,0) Oct_amount,NVl(Nov_amount,0) Nov_amount,NVl(Dec_amount,0) Dec_amountFROM REST pivot (SUM(amount) FOR month IN ('Jan' AS Jan_amount,'Feb' AS Feb_amount,'Mar' AS Mar_amount,'Apr' AS Apr_amount,'May' AS May_amount,'Jun' AS Jun_amount,'Jul' AS Jul_amount,'Aug' AS Aug_amount,'Sep' AS Sep_amount,'Oct' AS Oct_amount,'Nov' AS Nov_amount,'Dec' AS Dec_amount ) );

結(jié)果和方式1一樣:

4、列轉(zhuǎn)行

在上述pivot 方法的原sql語句上再加上unpivot函數(shù),將列再轉(zhuǎn)為行,在unpivot函數(shù)中,amount:表示由列轉(zhuǎn)換為行后的數(shù)據(jù)

month:表示由列轉(zhuǎn)換為行后的列名

select * from RESTpivot (sum(amount) for month in ('Jan' AS Jan_amount,'Feb' AS Feb_amount,'Mar' AS Mar_amount,'Apr' AS Apr_amount,'May' AS May_amount,'Jun' AS Jun_amount,'Jul' AS Jul_amount,'Aug' AS Aug_amount,'Sep' AS Sep_amount,'Oct' AS Oct_amount,'Nov' AS Nov_amount,'Dec' AS Dec_amount ))unpivot ( amount for month in(Jan_amount,Feb_amount,Mar_amount,Apr_amount,May_amount,Jun_amount,Jul_amount,Aug_amount,Sep_amount,Oct_amount,Nov_amount,Dec_amount));

結(jié)果為:

5、直接使用unpivot函數(shù) --列轉(zhuǎn)行

準備數(shù)據(jù):TEST表

CREATE TABLE TEST ( 'ID' NUMBER(12,0) NOT NULL, 'JAN' VARCHAR2(255 BYTE), 'FEB' VARCHAR2(255 BYTE), 'MAR' VARCHAR2(255 BYTE), 'APR' VARCHAR2(255 BYTE), 'MAY' VARCHAR2(255 BYTE), 'JUN' VARCHAR2(255 BYTE), 'JUL' VARCHAR2(255 BYTE), 'AUG' VARCHAR2(255 BYTE), 'SEP' VARCHAR2(255 BYTE), 'OCT' VARCHAR2(255 BYTE), 'NOV' VARCHAR2(255 BYTE), 'DEC' VARCHAR2(255 BYTE));-- 插入數(shù)據(jù)INSERT INTO 'CERPAWCSADM'.'TEST' VALUES ('1', '33', '2', '3', '4', '5', '6', '7', '8', '9', '99', '8', '6');INSERT INTO 'CERPAWCSADM'.'TEST' VALUES ('2', '22', '3', '4', '6', '5', '7', '0', '7', '22', '21', '343', '76');INSERT INTO 'CERPAWCSADM'.'TEST' VALUES ('3', '88', '3', '4', '5', '7', '9', '7', '2', '2', '231', '56', '78');

查詢出的數(shù)據(jù)

列轉(zhuǎn)行sql

SELECT* FROM TESTunpivot ( amount for month in(JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC));

結(jié)果為:

總結(jié)

到此這篇關(guān)于oracle行轉(zhuǎn)列與列轉(zhuǎn)行的幾種方式匯總的文章就介紹到這了,更多相關(guān)oracle行轉(zhuǎn)列與列轉(zhuǎn)行內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美日韩综合一区在线播放| 欧美精品影院| 91视频一区| 美女性感视频久久| 国产精品日韩精品在线播放| 日韩高清一区二区| 综合激情在线| 免费看日韩精品| 亚洲网址在线观看| 尤物精品在线| 国产精品日本欧美一区二区三区| 亚洲激情欧美| 蜜臀av在线播放一区二区三区| 午夜一级久久| 亚洲a级精品| 欧美日韩一区二区三区四区在线观看| 欧美一区=区三区| 久久免费精品| 在线亚洲人成| 国产伊人精品| 中文字幕亚洲影视| 欧美在线日韩| 成人免费一区| 欧美日韩一区二区综合| 日韩一区二区三区免费播放| 水蜜桃久久夜色精品一区| 午夜av不卡| 欧美日韩激情| 亚洲一级淫片| 国内不卡的一区二区三区中文字幕| 久久一区视频| 成人羞羞视频播放网站| 国产亚洲精品久久久久婷婷瑜伽| 老牛国产精品一区的观看方式| 午夜电影一区| 国产一区二区三区久久久久久久久| 日韩欧美看国产| 亚洲高清影视| 欧美亚洲三区| 高清不卡一区| 午夜久久99| 欧美日韩xxxx| 日韩美女一区二区三区在线观看| 1024精品一区二区三区| 亚洲视频二区| 岛国精品一区| 欧美日韩高清| 国产欧美日韩视频在线| 天堂а√在线最新版中文在线| 亚洲精品一区二区在线看| 日韩高清国产一区在线| 97精品国产| 久久成人亚洲| 久久精品免视看国产成人| 成人免费电影网址| 视频一区日韩精品| 日本欧美不卡| 日本中文字幕视频一区| 在线手机中文字幕| 亚洲天堂日韩在线| 国产欧美一区二区三区精品酒店| 久久aⅴ国产紧身牛仔裤| 精品国产一区二区三区性色av| 蜜臀久久99精品久久一区二区| 日本中文字幕一区二区视频| 久久男人天堂| 日韩中文字幕视频网| 福利在线一区| 日韩一区精品| 国户精品久久久久久久久久久不卡| 日韩精品一区第一页| 精品一二三区| 亚洲欧美日本国产| 特黄毛片在线观看| 国产精品久久久久久av公交车| 欧美日韩第一| 欧美精品91| 日韩制服丝袜先锋影音| 免费在线小视频| 青青国产精品| 日韩精品一区第一页| 97精品国产一区二区三区| 免费观看在线综合| 日韩三区在线| 国产精品久久久久77777丨| 亚洲午夜视频| av中文资源在线资源免费观看| 日韩高清国产一区在线| 亚洲精品一区二区在线看| 欧美xxxx中国| 欧美日韩亚洲一区在线观看| 国产伊人精品| 日韩国产一区二区三区| 国产精品一区二区av日韩在线| 亚洲国产不卡| 婷婷成人综合| 欧美xxxx中国| 美女精品久久| 青青在线精品| 亚洲精品国模| 黄色在线一区| 亚洲欧美伊人| 中文字幕在线视频久| 国产精品资源| 日本aⅴ亚洲精品中文乱码 | 国产一区二区三区久久| 欧美日韩调教| 91精品在线免费视频| 蜜桃一区二区三区在线观看| 999精品在线| 精品三级久久| 欧美不卡高清一区二区三区| 国产一区二区三区不卡视频网站| 青青在线精品| 日韩av电影一区| 在线看片日韩| 亚洲毛片视频| 欧美资源在线| 久久国产高清| 蜜臀va亚洲va欧美va天堂| 最新日韩av| 成人av二区| 尤物精品在线| 亚洲精品va| 中文日韩在线| 亚洲专区一区| 香蕉久久国产| 亚洲综合五月| 亚洲中午字幕| 亚洲色图综合| 91欧美极品| 欧美日韩一区二区高清| 日韩av不卡一区二区| 88久久精品| 国产精品美女午夜爽爽| 欧美日韩1区| 精品视频一区二区三区在线观看| 国产日韩欧美在线播放不卡| 国产调教精品| 国产黄色精品| 精品色999| 欧洲精品一区二区三区| 日韩欧美一区二区三区在线观看| 日韩伦理福利| 亚州av乱码久久精品蜜桃| 亚洲夜间福利| 好吊日精品视频| 亚洲日本欧美| 国产三级一区| 美女久久久久久| 亚洲欧美日本国产| 久久国产视频网| 精品国产一级| 久久中文字幕av| 日韩中文字幕区一区有砖一区 | 中文字幕一区二区三区在线视频| 亚洲精品美女91| 麻豆成人综合网| 久久久久久久欧美精品| 性欧美精品高清| 欧美亚洲tv| 成人免费一区| 免费视频亚洲| 涩涩涩久久久成人精品| 国产精品日本一区二区不卡视频| 精品一区二区三区视频在线播放 | 精品高清久久| 久久久久久免费视频| 亚洲尤物av| 免费看一区二区三区| 精品视频在线你懂得| 国产中文一区| 亚洲精品影视| 老司机免费视频一区二区三区| 欧美日韩国产观看视频| 激情91久久| 国产精品亚洲综合久久| 久久久精品网| 日韩中文字幕视频网| www.51av欧美视频| 99成人在线| 欧美日韩1区2区3区| 亚洲日本网址| 欧美中文高清| 久久蜜桃资源一区二区老牛| 蜜臀va亚洲va欧美va天堂| 久久精品五月| 亚洲一区二区三区高清不卡| 欧美日韩国产一区二区在线观看| 欧美成a人免费观看久久| 涩涩涩久久久成人精品| 美女av在线免费看| 视频一区中文字幕精品| 亚洲最新无码中文字幕久久 | 久久国产高清| 美女av在线免费看| 日韩激情精品| 久久视频国产| 久久中文字幕一区二区三区| 亚洲欧美日韩国产一区二区|