色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

oracle中聚合函數RANK和dense_rank的使用

瀏覽:117日期:2023-11-19 18:40:22
聚合函數RANK 和 dense_rank 主要的功能是計算一組數值中的排序值。在9i版本之前,只有分析功能(analytic ),即從一個查詢結果中計算每一行的排序值,是基于order_by_clause子句中的value_eXPrs指定字段的。其語法為:RANK ( ) OVER ( [query_partition_clause] order_by_clause )在9i版本新增加了合計功能(aggregate),即對給定的參數值在設定的排序查詢中計算出其排序值。這些參數必須是常數或常值表達式,且必須和ORDER BY子句中的字段個數、位置、類型完全一致。其語法為:RANK ( expr [, expr]... ) WITHIN GROUP( ORDER BY expr [ DESC ASC ] [NULLS { FIRST LAST }] [, expr [ DESC ASC ] [NULLS { FIRST LAST }]]...)例子1:有表Table內容如下COL1; COL2 1; 1 2; 1 3; 2 3; 1 4; 1 4; 2 5; 2 5; 2 6; 2分析功能:列出Col2分組后根據Col1排序,并生成數字列。比較實用于在成績表中查出各科前幾名的信息。SELECT a.*,RANK() OVER(PARTITION BY col2 ORDER BY col1) 'Rank' FROM table a;結果如下:COL1; COL2; Rank 1; 1;;1 2; 1;;2 3; 1;;3 4; 1;;4 3; 2;;1 4; 2;;2 5; 2;;3 5; 2;;3 6; 2;;5例子2:TABLE:A (科目,分數)數學,80語文,70數學,90數學,60數學,100語文,88語文,65語文,77現在我想要的結果是:(即想要每門科目的前3名的分數)數學,100數學,90數學,80語文,88語文,77語文,70那么語句就這么寫:select * from (select rank() over(partition by 科目 order by 分數 desc) rk,a.* from a) twhere t.rk<=3;例子3:合計功能:計算出數值(4,1)在Orade By Col1,Col2排序下的排序值,也就是col1=4,col2=1在排序以后的位置SELECT RANK(4,3) WITHIN GROUP (ORDER BY col1,col2) 'Rank' FROM table;結果如下:Rank4dense_rank與rank()用法相當,但是有一個區別:dence_rank在并列關系是,相關等級不會跳過。rank則跳過例如:表;A;B;Ca;;liu;;wanga;;jin;;shua;;cai;;kaib;;yang;;;;;;dub;;lin;;yingb;;yaocaib;;yang;;;99例如:當rank時為:select m.a,m.b,m.c,rank() over(partition by a order by b) liu from test3 m;A; B;;C;;LIU ;a;;cai; kai;;1a; jinshu2a; liu; ;wang;;;;;3b;;lin; ;ying1b;;yang;;;;;;du2b; yang;;;;;;992b; yaocai4而假如用dense_rank時為:select m.a,m.b,m.c,dense_rank() over(partition by a order by b) liu from test3 m;A; B;;C;;LIUa;;cai; kai;;1a; jinshu2a; liu; ;wang;;;;;3b;;lin; ;ying1b;;yang;;;;;;du2b; yang;;;;;;992b; yaocai3
標簽: Oracle 數據庫
主站蜘蛛池模板: 久久骚| 国产在线观看精品 | 一区二区三区在线 | 成 人 黄 色 视频 免费观看 | 国产精品福利视频萌白酱 | 成年女人免费视频播放成年m | 成人黄网18免费观看的网站 | 欧美成人午夜视频免看 | 国产一级一级一级国产片 | 精品96在线观看影院 | 国产成人a大片大片在线播放 | 男女乱淫免费视频 | 九色91| 中文字幕视频网 | 欧美国产大片 | 97久久精品一区二区三区 | 五月激激激综合网色播免费 | 欧洲一级片 | 毛片在线播放网址 | 亚洲国产影院 | 免费观看成人www精品视频在线 | 国语一级毛片 | 一级片免费视频 | 在线观看亚洲网站 | 91社区视频| 免费观看欧美一级牲片一 | 欧美一级毛片久久精品 | 九九精品视频在线观看 | 香蕉超级碰碰碰97视频蜜芽 | 国产萌白酱在线一区二区 | 久久一本 | 国产成在线观看免费视频成本人 | 精品无码一区在线观看 | 黄色a一片 | 热99re久久精品香蕉 | 国产成人精品男人的天堂网站 | 亚洲精品一区二区三区在 | 国产综合精品久久久久成人影 | 久久综合中文字幕一区二区三区 | 亚洲最大网址 | 九色视频在线观看免费 |