oraclegroupby用法實(shí)例詳解

oraclegroupby用法實(shí)例詳解

ID:34724852

大?。?1.18 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2019-03-10

oraclegroupby用法實(shí)例詳解_第1頁(yè)
oraclegroupby用法實(shí)例詳解_第2頁(yè)
oraclegroupby用法實(shí)例詳解_第3頁(yè)
oraclegroupby用法實(shí)例詳解_第4頁(yè)
oraclegroupby用法實(shí)例詳解_第5頁(yè)
資源描述:

《oraclegroupby用法實(shí)例詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、Groupby的語(yǔ)法Select[filed1,fild2,]聚合函數(shù)(filed),[Grouping(filed),][Grouping_id(filed1,filed2,…)]FromtablenameWherecondition[Groupby{rollup

2、cube}(filed,filed2)][havingcondition][orderbyfiled1]一、基本用法:(1)我們通過(guò)幾個(gè)例子來(lái)研究groupby的基本用法創(chuàng)建測(cè)試表SQL>createtablesales(2empidnumber,--雇員ID3depidnum

3、ber,--部門(mén)ID4areavarchar(20),--區(qū)域5salenumnumber);--銷售額?表已創(chuàng)建。?SQL>insertintosalesvalues(1,1,'china',10);SQL>insertintosalesvalues(2,1,'china',10);SQL>insertintosalesvalues(3,1,'china',10);SQL>insertintosalesvalues(3,1,'china',10);SQL>insertintosalesvalues(3,1,'china',10);SQL>

4、insertintosalesvalues(1,1,'china',10);SQL>insertintosalesvalues(2,1,'china',10);SQL>insertintosalesvalues(4,2,'china',10);SQL>insertintosalesvalues(4,2,'china',10);SQL>insertintosalesvalues(5,3,'us',10);SQL>insertintosalesvalues(5,3,'us',10);需求1,按部門(mén)統(tǒng)計(jì)銷售額(簡(jiǎn)單用法)SQL>selectdep

5、id,sum(salenum)fromsalesgroupbydepid;DEPIDSUM(SALENUM)----------------------1???????702???????203???????20需求2,按部門(mén)統(tǒng)計(jì)銷售額,并且只顯示銷售總額小于30的部門(mén)及銷售額(使用having子句)SQL>selectdepid,sum(salenum)totalnumfromsalesgroupbydepidhavingsum(salenum)<30;DEPIDSUM(SALENUM)----------------------2???

6、????203???????20注解:需求2需要使用having字名,而且在子句中不能使用別名,必須使用在select語(yǔ)句中書(shū)寫(xiě)的形式(2)Where和having的區(qū)別Wheret和having子句都用來(lái)篩選數(shù)據(jù),但是where是針對(duì)原數(shù)據(jù)進(jìn)行篩選,而having子句只是針對(duì)匯總后的結(jié)果進(jìn)行篩選,所以在需求二的例子中,想要對(duì)銷售總額進(jìn)行過(guò)濾只能使用having子句(3)使用orderby排序SQL>selectdepid,sum(salenum)fromsalesgroupbydepid;DEPIDSUM(SALENUM)--------

7、--------------1??????702??????203??????20注意觀察需求1的例子,depid是已經(jīng)按照在depid升序排列的,這是因?yàn)閛racle在做聚合統(tǒng)計(jì)的時(shí)候會(huì)首先對(duì)字段進(jìn)行排序,所以最終的結(jié)果是按照升序進(jìn)行排列的,如果orderby后跟著多個(gè)字段,默認(rèn)排序是先對(duì)第一個(gè)字段升序排序,然后再排第二個(gè)字段,以此類推,所以如果在應(yīng)用中僅僅需要長(zhǎng)序排序可以不用加orderby參數(shù),畢竟這會(huì)影響性能二、擴(kuò)展用法:擴(kuò)展用法使用下面的表進(jìn)行實(shí)驗(yàn)研究SQL>createtabletestgroup(2avarchar(5),3b

8、varchar(5),4cvarchar(5),5nnumber);建完測(cè)試表,然后插入兩條測(cè)試數(shù)據(jù)SQL>insertintotestgroupvalues('a1','b1','c1',10);SQL>insertintotestgroupvalues('a1','b1','c1',20);我們使用基本的groupby可以得到以下結(jié)果SQL>selecta,b,c,sum(n)totalfromtestgroupgroupbya,b,c;A???????B?????C????TOTAL-------------------------a

9、1?????b1????c1????30(1)使用rollup操作符Rollup意思有”卷起,匯總”的意思,他可以在使得在其括號(hào)中的字段,按從右到左的順序分別group后顯示,類

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。