Oracle分析函數(shù)使用總結(jié).doc

Oracle分析函數(shù)使用總結(jié).doc

ID:50530894

大?。?2.50 KB

頁數(shù):13頁

時間:2020-03-10

Oracle分析函數(shù)使用總結(jié).doc_第1頁
Oracle分析函數(shù)使用總結(jié).doc_第2頁
Oracle分析函數(shù)使用總結(jié).doc_第3頁
Oracle分析函數(shù)使用總結(jié).doc_第4頁
Oracle分析函數(shù)使用總結(jié).doc_第5頁
資源描述:

《Oracle分析函數(shù)使用總結(jié).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、Oracle分析函數(shù)使用總結(jié)1.使用評級函數(shù)評級函數(shù)(rankingfunction)用于計算等級、百分點、n分片等等,下面是幾個常用到的評級函數(shù):RANK():返回數(shù)據(jù)項在分組中的排名。特點:在排名相等的情況下會在名次中留下空位DENSE_RANK():與RANK不同的是它在排名相等的情況下不會在名次中留下空位CUME_DIST():返回特定值相對于一組值的位置:他是“cumulativedistribution”(累積分布)的簡寫PERCENT_RANK():返回某個值相對于一組值的百分比排名NTILE():返回n分片后的值,比如三分片、四分片等等ROW_NUMBER():為每一條分組

2、紀錄返回一個數(shù)字下面我們分別舉例來說明這些函數(shù)的使用1)RANK()與DENSE-RANK()首先顯示下我們的源表數(shù)據(jù)的結(jié)構(gòu)及部分數(shù)據(jù):SQL>descall_sales;名稱是否為空?類型------------------------------------------------------------YEARNOTNULLNUMBER(38)MONTHNOTNULLNUMBER(38)PRD_TYPE_IDNOTNULLNUMBER(38)EMP_IDNOTNULLNUMBER(38)AMOUNTNUMBER(8,2)SQL>select*fromall_saleswhererow

3、num<11;YEARMONTHPRD_TYPE_IDEMP_IDAMOUNT---------------------------------------------------2003112110034.842003212115144.652003312120137.832003412125057.452003512117214.562003612115564.642003712112654.842003812117434.822003912119854.5720031012121754.19已選擇10行。好接下來我們將舉例來說明上述函數(shù)的使用:首先是RANK()與DENSE-RANK

4、()的使用:SQL>select2prd_type_id,sum(amount),3RANK()OVER(ORDERBYSUM(amount)DESC)ASrank,4DENSE_RANK()OVER(ORDERBYSUM(amount)DESC)ASdense_rank5fromall_sales6whereyear=20037groupbyprd_type_id8orderbyrank;PRD_TYPE_IDSUM(AMOUNT)RANKDENSE_RANK------------------------------------------5111905081.84223478270.

5、91334402751.16442186381.2255注意:這里PRD_TYPE_ID列為5的SUM(AMOUNT)的值為空,RANK()和DENSE-RANK在這一行的返回值為1。因為默認狀態(tài)下RANK()和DENSE-RANK()在遞減排序中將空值指定為最高排名1,而在遞增排序中則把它指定為最低排名。這里還有一個問題就是我們的例子中沒有SUM(AMOUNT)相等的值,如果有的話RANK與DENSE-RANK將表現(xiàn)出區(qū)別比如上面的例子如果PRD_TYPE_ID為4的SUM(AMOUNT)的值也為:478270.91的話,那么上面語句的輸出則為:PRD_TYPE_IDSUM(AMOUNT

6、)RANKDENSE_RANK------------------------------------------5111905081.84223478270.91334478270.91332186381.2254此外這里還有兩個參數(shù)來限制空值的排序即:NULLSFIRST和NULLSLAST我們還以上面的例子來看:SQL>select2prd_type_id,sum(amount),3RANK()OVER(ORDERBYSUM(amount)DESCNULLSLAST)ASrank,4DENSE_RANK()OVER(ORDERBYSUM(amount)DESCNULLSLAST)AS

7、dense_rank5fromall_sales6whereyear=20037groupbyprd_type_id8*orderbyrankPRD_TYPE_IDSUM(AMOUNT)RANKDENSE_RANK------------------------------------------1905081.84113478270.91224402751.16332186381.2244555可以看出剛才我們不使用N

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

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

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