亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > 文庫 > 正文

SQL基礎教程之行轉列Pivot函數

2020-10-29 21:45:44
字體:
來源:轉載
供稿:網友

前言

未來的一個月時間中,會總結一系列SQL知識點,一次只總結一個知識點,盡量說明白,下面來說說SQL 中常用Pivot 函數(這里是用的數據庫是SQLSERVER,與其他數據庫是類似的,大家放心看就好)

讓我們先從一個虛構的場景中來著手吧

萬國來朝,很多供應商每天都匯報各自的收入情況。先來創建一個DailyIncome 表

create table DailyIncome(VendorId nvarchar(10), IncomeDay nvarchar(10), IncomeAmount int)--VendorId 供應商ID,--IncomeDay 收入時間--IncomeAmount 收入金額

緊接著來插入數據看看

(留意看下,有的供應商某天中會有多次收入,應該是分批進賬的)

insert into DailyIncome values ('SPIKE', 'FRI', 100)insert into DailyIncome values ('SPIKE', 'MON', 300)insert into DailyIncome values ('FREDS', 'SUN', 400)insert into DailyIncome values ('SPIKE', 'WED', 500)insert into DailyIncome values ('SPIKE', 'TUE', 200)insert into DailyIncome values ('JOHNS', 'WED', 900)insert into DailyIncome values ('SPIKE', 'FRI', 100)insert into DailyIncome values ('JOHNS', 'MON', 300)insert into DailyIncome values ('SPIKE', 'SUN', 400)insert into DailyIncome values ('JOHNS', 'FRI', 300)insert into DailyIncome values ('FREDS', 'TUE', 500)insert into DailyIncome values ('FREDS', 'TUE', 200)insert into DailyIncome values ('SPIKE', 'MON', 900)insert into DailyIncome values ('FREDS', 'FRI', 900)insert into DailyIncome values ('FREDS', 'MON', 500)insert into DailyIncome values ('JOHNS', 'SUN', 600)insert into DailyIncome values ('SPIKE', 'FRI', 300)insert into DailyIncome values ('SPIKE', 'WED', 500)insert into DailyIncome values ('SPIKE', 'FRI', 300)insert into DailyIncome values ('JOHNS', 'THU', 800)insert into DailyIncome values ('JOHNS', 'SAT', 800)insert into DailyIncome values ('SPIKE', 'TUE', 100)insert into DailyIncome values ('SPIKE', 'THU', 300)insert into DailyIncome values ('FREDS', 'WED', 500)insert into DailyIncome values ('SPIKE', 'SAT', 100)insert into DailyIncome values ('FREDS', 'SAT', 500)insert into DailyIncome values ('FREDS', 'THU', 800)insert into DailyIncome values ('JOHNS', 'TUE', 600)

讓我們先來看看前十行數據:

select top 10 * from DailyIncome

如圖所示:


DailyIncome

雖然數據是能夠完全給展示了,但好像一眼望去不能得到對我們用處更大的信息,比如說我們想得到每個供應商的每天的總收入,這時我們應該做一些數據形式的轉變了,平常的所用的是這樣的。

select VendorId ,sum(case when IncomeDay='MoN' then IncomeAmount else 0 end) MON,sum(case when IncomeDay='TUE' then IncomeAmount else 0 end) TUE,sum(case when IncomeDay='WED' then IncomeAmount else 0 end) WED,sum(case when IncomeDay='THU' then IncomeAmount else 0 end) THU,sum(case when IncomeDay='FRI' then IncomeAmount else 0 end) FRI,sum(case when IncomeDay='SAT' then IncomeAmount else 0 end) SAT,sum(case when IncomeDay='SUN' then IncomeAmount else 0 end) SUNfrom DailyIncome group by VendorId

得到如下的結果:


case when結果

如果大家仔細看結果的話,會有這樣的發現,這是把VendorID進行了分組,并且對于每組中IncomeDay這一列中的值都變成了新的列名字,然后對IncomeAmount進行求和操作。

這樣寫可能是有些麻煩,別著急,我們用Pivot函數進行行轉列試下。

select * from DailyIncome ----第一步pivot (sum (IncomeAmount) ----第三步for IncomeDay in ([MON],[TUE],[WED],[THU],[FRI],[SAT],[SUN]) ---第二步) as AvgIncomePerDay

來解釋下,要想用好Pivot函數,應該理解代碼注釋中的這幾步。

第一步:肯定是要明白數據源了,這里是DailyIncome

第二步:要明白要想讓哪一列的值做新的列名字

第三步:要明白對于這新的列要求那些值呢?

下面有個練習題目,做之前不要看答案啊

問:對于SPIKE這家供應商來說,每天最大的入賬金額。

select * from DailyIncomepivot (max (IncomeAmount) for IncomeDay in ([MON],[TUE],[WED],[THU],[FRI],[SAT],[SUN])) as MaxIncomePerDaywhere VendorId in ('SPIKE')

參考鏈接如下:

1.Pivot tables in SQL Server. A simple sample

2.行轉列:SQL SERVER PIVOT與用法解釋

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩一区在线| 国产精品视频一区二区三区四| 欧美午夜片在线免费观看| 欧美日韩人人澡狠狠躁视频| 欧美日韩在线视频首页| 九九综合九九综合| 亚洲美女av电影| 亚洲国产精品大全| 91精品国产综合久久香蕉最新版| 国产丝袜视频一区| 欧美激情一区二区久久久| 日韩欧美在线视频日韩欧美在线视频| 国产精品久久久999| 久久久久久久爱| 庆余年2免费日韩剧观看大牛| www.日韩免费| 欧美精品电影免费在线观看| 久久视频精品在线| 久久久久久久91| 欧美怡春院一区二区三区| 最近2019年手机中文字幕| 高清欧美性猛交| 伦理中文字幕亚洲| 久久成人免费视频| 91av中文字幕| 久久久久久久久久国产| 国产精品久久久久久久久久东京| 欧美精品激情在线| 欧美尤物巨大精品爽| 精品欧美一区二区三区| 亚洲视频电影图片偷拍一区| 91精品视频在线免费观看| 亚洲国产精品久久| 欧美精品一区二区三区国产精品| 欧美裸身视频免费观看| 成人网在线观看| 精品网站999www| 色诱女教师一区二区三区| 日韩精品欧美激情| 欧美午夜精品久久久久久人妖| 亚洲精品有码在线| 中文字幕精品www乱入免费视频| 欧美久久精品午夜青青大伊人| 日韩欧美高清在线视频| 亚洲成人av片在线观看| 欧美日韩高清区| 久久精品久久精品亚洲人| 136fldh精品导航福利| 日韩视频在线观看免费| 亚洲曰本av电影| 91爱爱小视频k| 欧美亚洲另类激情另类| 日本一区二区在线免费播放| 国产mv免费观看入口亚洲| 欧美成人一区二区三区电影| 在线中文字幕日韩| 精品国产视频在线| 一本色道久久88综合日韩精品| 黄色91在线观看| 亚洲一区久久久| 欧美高跟鞋交xxxxhd| 欧美在线免费观看| 日韩美女视频免费在线观看| 国产精品成人av在线| 国产精品18久久久久久麻辣| 51视频国产精品一区二区| 国产一区二区三区在线观看视频| 美日韩在线视频| 欧美第一黄网免费网站| 国产91精品黑色丝袜高跟鞋| 在线观看精品国产视频| 国产成人精品在线播放| 日韩美女免费视频| 日韩**中文字幕毛片| 亚洲视频欧洲视频| 国产精品偷伦免费视频观看的| 日日骚av一区| 日韩美女免费线视频| 国产精品视频一区二区高潮| 国产精品久久久久久一区二区| 狠狠躁18三区二区一区| 国产精品丝袜久久久久久不卡| 91九色视频导航| 最近免费中文字幕视频2019| 亚洲国产成人在线视频| 国内外成人免费激情在线视频| 国产精品日韩一区| 日韩av第一页| 欧美精品久久一区二区| 欧美色图在线视频| 97在线视频免费| 欧美大尺度在线观看| 97视频在线观看免费高清完整版在线观看| 国产日韩中文字幕| 欧美特黄级在线| 亚洲欧美日韩高清| 精品视频久久久久久| 亚洲男人天堂手机在线| 日韩免费电影在线观看| 一区二区三区国产在线观看| 国a精品视频大全| 国产精品三级在线| 亚洲天堂网站在线观看视频| 欧美大全免费观看电视剧大泉洋| 都市激情亚洲色图| 成人久久精品视频| 91丨九色丨国产在线| 午夜精品久久久久久久99热| 九九精品视频在线观看| 欧美日韩成人在线视频| 国产精品久久久久久久久久东京| 欧美与欧洲交xxxx免费观看| 久久久精品免费视频| 久久亚洲电影天堂| 久久久噜噜噜久久中文字免| 日韩在线免费高清视频| 亚洲日本成人女熟在线观看| 国产精品ⅴa在线观看h| 国产在线视频一区| 欧美亚洲国产日本| 欧美精品在线免费播放| 国产免费一区视频观看免费| 成人精品视频久久久久| 久久免费视频网| 午夜精品久久久久久久男人的天堂| 欧美日韩美女视频| 538国产精品视频一区二区| 国产精品一区二区久久久久| 久久久在线视频| 中文字幕精品一区二区精品| 亚洲福利视频久久| 欧美猛少妇色xxxxx| 国产精品美女在线观看| 2019国产精品自在线拍国产不卡| 欧美成人午夜剧场免费观看| 亚洲欧美日韩在线一区| 久久97久久97精品免视看| 国产精品一区av| 日韩第一页在线| 色琪琪综合男人的天堂aⅴ视频| 69影院欧美专区视频| 91精品国产自产在线| 亚洲视频在线播放| 日本中文字幕不卡免费| 最近2019年日本中文免费字幕| 亚洲欧美日韩一区在线| 蜜月aⅴ免费一区二区三区| 亚洲精品按摩视频| 国产成人综合精品在线| 国产一区av在线| 亚洲国产福利在线| 在线播放国产一区中文字幕剧情欧美| 欧美大荫蒂xxx| 亚洲欧美中文字幕在线一区| 91精品在线国产| 亚洲最大的成人网| 国产精品偷伦一区二区| 成人做爽爽免费视频| 中文字幕精品久久久久| 久久在精品线影院精品国产| 国产亚洲一级高清| 欧美成在线观看| 亚洲丁香婷深爱综合| 亚洲女同精品视频|