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

首頁 > 數據庫 > Oracle > 正文

Oracle中rank,over partition函數的使用方法

2024-08-29 13:59:04
字體:
來源:轉載
供稿:網友

排列(rank())函數。這些排列函數提供了定義一個集合(使用 PARTITION 子句),然后根據某種排序方式對這個集合內的元素進行排列的能力,下面以scott用戶的emp表為例來說明rank over partition如何使用。

1)查詢員工薪水并連續求和

select deptno,ename,sal,sum(sal)over(order by ename) sum1, sum(sal)over() sum2,             100* round(sal/sum(sal)over(),4) "bal%"from emp

結果如下:

    DEPTNO ENAME             SAL       SUM1       SUM2       bal%
---------- ---------- ---------- ---------- ---------- ----------
        20 ADAMS            1100       1100      29025       3.79
        30 ALLEN            1600       2700      29025       5.51
        30 BLAKE            2850       5550      29025       9.82
        10 CLARK            2450       8000      29025       8.44
        20 FORD             3000      11000      29025      10.34
        30 JAMES             950      11950      29025       3.27
        20 JONES            2975      14925      29025      10.25
        10 KING             5000      19925      29025      17.23
        30 MARTIN           1250      21175      29025       4.31
        10 MILLER           1300      22475      29025       4.48
        20 SCOTT            3000      25475      29025      10.34

    DEPTNO ENAME             SAL       SUM1       SUM2       bal%
---------- ---------- ---------- ---------- ---------- ----------
        20 SMITH             800      26275      29025       2.76
        30 TURNER           1500      27775      29025       5.17
        30 WARD             1250      29025      29025       4.31

 

2)如下:

select deptno,ename,sal,sum(sal)over(partition by deptno order by ename) sum1,sum(sal)over(partition by deptno) sum2,sum(sal)over(partition by deptno order by sal) sum3,100* round(sal/sum(sal)over(),4) "bal%"from emp

結果如下:

    DEPTNO ENAME             SAL       SUM1       SUM2       SUM3       bal%
---------- ---------- ---------- ---------- ---------- ---------- ----------
        10 CLARK            2450       2450       8750       3750       8.44
        10 KING             5000       7450       8750       8750      17.23
        10 MILLER           1300       8750       8750       1300       4.48
        20 ADAMS            1100       1100      10875       1900       3.79
        20 FORD             3000       4100      10875      10875      10.34
        20 JONES            2975       7075      10875       4875      10.25
        20 SCOTT            3000      10075      10875      10875      10.34
        20 SMITH             800      10875      10875        800       2.76
        30 ALLEN            1600       1600       9400       6550       5.51
        30 BLAKE            2850       4450       9400       9400       9.82
        30 JAMES             950       5400       9400        950       3.27

    DEPTNO ENAME             SAL       SUM1       SUM2       SUM3       bal%
---------- ---------- ---------- ---------- ---------- ---------- ----------
        30 MARTIN           1250       6650       9400       3450       4.31
        30 TURNER           1500       8150       9400       4950       5.17
        30 WARD             1250       9400       9400       3450       4.31

3)如下:

select empno,deptno,sal,sum(sal)over(partition by deptno) "deptSum",rank()over(partition by deptno order by sal desc nulls last) rank,dense_rank()over(partition by deptno order by sal desc nulls last) d_rank,row_number()over(partition by deptno order by sal desc nulls last) row_rankfrom emp

注:

rang()函數主要用于排序,并給出序號

dense_rank():功能同rank()一樣,區別在于,rank()對于排序并的數據給予相同序號,接下來的數據序號直接跳中躍,dense_rank()則不是,比如數據:1,2,2,4,5,6.。。。。這是rank()的形式

1,2,2,3,4,5,。。。。這是dense_rank()的形式

1,2,3,4,5,6.。。。。。這是row_number()函數形式

row_number()函數則是按照順序依次使用,相當于我們普通查詢里的rownum值

其實從上面三個例子當中,不難看出over(partition by ... order by ...)的整體概念,我理解是

partition by:按照指字的字段分區,如果沒有則針對全體數據
order by:按照指定字段進行連續操作(如求和(sum),排序(rank()等),如果沒有指定,就相當于對指定分區集合內的數據進行整體sum操作。

以上就是rank,over partition函數的基本使用方法,希望對大家有所幫助。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲电影免费观看高清完整版在线观看| 日韩国产精品视频| 欧美在线视频一二三| 久久久久久久久久久免费| 日韩av在线天堂网| 欧美性高潮在线| 亚洲国产成人爱av在线播放| 2021久久精品国产99国产精品| 一本一道久久a久久精品逆3p| 欧美精品999| 日韩欧美主播在线| 久久综合九色九九| 日日噜噜噜夜夜爽亚洲精品| 亚洲综合中文字幕在线| 久久精品国产v日韩v亚洲| 欧美激情一区二区三级高清视频| 成人国产精品av| 国产精品三级网站| 日韩免费黄色av| 国产91在线播放九色快色| 亚洲午夜久久久久久久| 亚洲精品国产精品久久清纯直播| 亚洲国产女人aaa毛片在线| 国产精品国产三级国产专播精品人| 97精品一区二区视频在线观看| 国产一区二区三区丝袜| 亚洲欧美日韩直播| 国产精品18久久久久久麻辣| 日韩av免费在线播放| 国产91色在线|| 亚洲精选在线观看| 日韩在线欧美在线国产在线| 亚洲欧美日韩精品久久| 日本久久久久亚洲中字幕| 日韩欧美aⅴ综合网站发布| 岛国视频午夜一区免费在线观看| 国产精品久久久久久av福利| 国产亚洲福利一区| 国产成人啪精品视频免费网| 日韩高清av在线| 欧美成人全部免费| 国产视频一区在线| 中文字幕欧美专区| 91精品国产综合久久男男| 亚洲一区二区黄| 日韩二区三区在线| 富二代精品短视频| 91美女片黄在线观看游戏| www.日韩.com| 在线播放亚洲激情| 性色av一区二区三区在线观看| 国产又爽又黄的激情精品视频| 国产亚洲欧洲在线| 国内精品久久久久久久久| 亚洲精品久久久一区二区三区| 日韩精品在线播放| 91精品啪aⅴ在线观看国产| 日本欧美在线视频| 国产亚洲精品久久久久久牛牛| 精品久久久久久久久久久| 国产啪精品视频| 深夜福利一区二区| 91麻豆国产精品| 粗暴蹂躏中文一区二区三区| 国产午夜精品久久久| 国产精品久久久久不卡| 高清欧美一区二区三区| 97视频在线观看播放| 欧美高跟鞋交xxxxhd| 日韩中文字幕在线视频| 欧美成人亚洲成人日韩成人| 久久久久久久久久婷婷| 日本亚洲欧美三级| 怡红院精品视频| 亚洲aaaaaa| 91久久国产精品91久久性色| 国内精品一区二区三区四区| 欧美丝袜美女中出在线| 欧美裸身视频免费观看| 亚洲国产一区二区三区在线观看| 国产91精品最新在线播放| 亚洲美女www午夜| 亚洲一区二区中文字幕| 日韩精品亚洲精品| 亚洲黄色av女优在线观看| 亚洲三级黄色在线观看| 久久久久久12| 国产视频精品xxxx| 欧美高清在线视频观看不卡| 国产视频精品在线| 欧美在线视频免费| 高潮白浆女日韩av免费看| 精品国产网站地址| 久久久黄色av| 亚洲美女激情视频| 国内精品久久久久久中文字幕| 亚洲第一精品久久忘忧草社区| 亚洲r级在线观看| 国产美女精品免费电影| 亚洲成人久久电影| 欧美激情免费看| 日韩精品一区二区视频| 精品久久久久人成| 午夜精品久久久久久久久久久久久| 亚洲久久久久久久久久| 8x拔播拔播x8国产精品| 欧美噜噜久久久xxx| 久久影院资源站| 国产日产欧美a一级在线| 成人免费网站在线观看| 成人女保姆的销魂服务| 两个人的视频www国产精品| 97在线免费观看| 国产丝袜一区视频在线观看| 热99精品只有里视频精品| 91麻豆国产语对白在线观看| 国产精品久久久久久一区二区| 8090成年在线看片午夜| 中文精品99久久国产香蕉| 亚洲电影成人av99爱色| 国产亚洲人成网站在线观看| 亚洲免费电影一区| 久久精品视频中文字幕| 欧美国产日本高清在线| 成人高清视频观看www| 一区三区二区视频| 91av视频导航| 欧美福利视频在线| 久久精品视频亚洲| 4444欧美成人kkkk| 亚洲第一视频在线观看| 精品美女久久久久久免费| 97人洗澡人人免费公开视频碰碰碰| 亚洲在线视频福利| 国产美女扒开尿口久久久| 国产亚洲激情视频在线| 97精品欧美一区二区三区| 在线观看欧美视频| 国产日产欧美精品| 欧美极品少妇全裸体| 中国人与牲禽动交精品| 午夜精品蜜臀一区二区三区免费| 亚洲午夜激情免费视频| 欧美日韩在线视频一区| 精品久久中文字幕久久av| 亚洲欧美一区二区精品久久久| 伊人伊人伊人久久| 亚洲成av人片在线观看香蕉| 亚洲欧美日韩国产中文| 亚洲精品国产拍免费91在线| 国产精品久久久久久久久久99| 综合欧美国产视频二区| 久久久中文字幕| 精品亚洲永久免费精品| 国产精品第一页在线| 欧美日本中文字幕| 久久综合久久88| 亚洲男人天堂2024| 国产欧美精品在线播放| 亚洲欧美国产精品| 色久欧美在线视频观看| 日韩av在线资源| 亚洲综合在线中文字幕| 伊人激情综合网|