亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle中怎么實現并列排名顯示

發布時間:2021-07-30 15:16:01 來源:億速云 閱讀:1534 作者:Leah 欄目:大數據

這篇文章給大家介紹Oracle中怎么實現并列排名顯示,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

第一種:dense_rank() over (order  by  字段  升序或降序)  as  別名  from 表名;
使用別名方便之后過濾條件使用;

排名的時候并列算同一個人,如,1,2,2,3

SQL> select ename,job,sal,dense_rank() over(order by sal desc) as rank from emp;
 
ENAME      JOB              SAL       RANK
---------- --------- ---------- ----------
KING       PRESIDENT       5000          1
FORD       ANALYST         3000          2
SCOTT      ANALYST         3000          2
JONES      MANAGER         2975          3
BLAKE      MANAGER         2850          4
CLARK      MANAGER         2450          5
ALLEN      SALESMAN        1600          6
TURNER     SALESMAN        1500          7
ADAMS      CLERK           1400          8
SMITH      CLERK           1400          8
MILLER     CLERK           1300          9
WARD       SALESMAN        1250         10
MARTIN     SALESMAN        1250         10
JAMES      CLERK            950         11
 
已選擇14行。
比如限制條件為 排名第二的員工,并列的都顯示出來:
SQL> select * from (select ename,job,sal,dense_rank() over(order by sal desc) as rank from emp) where rank =2;
 
ENAME      JOB              SAL       RANK
---------- --------- ---------- ----------
SCOTT      ANALYST         3000          2
FORD       ANALYST         3000          2
 
第二種:rank() over (order  by  字段名  升序或者降序) as  別名  from 表名;
排名的時候,并列多少個人,序號就算多少個,如:1,2,2,4

SQL> select ename,job,sal,rank() over(order by sal desc) as rank from emp;
 
ENAME      JOB              SAL       RANK
---------- --------- ---------- ----------
KING       PRESIDENT       5000          1
FORD       ANALYST         3000          2
SCOTT      ANALYST         3000          2
JONES      MANAGER         2975          4
BLAKE      MANAGER         2850          5
CLARK      MANAGER         2450          6
ALLEN      SALESMAN        1600          7
TURNER     SALESMAN        1500          8
ADAMS      CLERK           1400          9
SMITH      CLERK           1400          9
MILLER     CLERK           1300         11
WARD       SALESMAN        1250         12
MARTIN     SALESMAN        1250         12
JAMES      CLERK            950         14
 
已選擇14行。
第三種:row_number() over (order by  字段名  升序或降序)  as  別名  from 表名;
這種就是不分并列,直接按序號來排名,如:1,2,3,4

SQL> select ename,job,sal,row_number() over(order by sal desc) as rank from emp;
 
ENAME      JOB              SAL       RANK
---------- --------- ---------- ----------
KING       PRESIDENT       5000          1
FORD       ANALYST         3000          2
SCOTT      ANALYST         3000          3
JONES      MANAGER         2975          4
BLAKE      MANAGER         2850          5
CLARK      MANAGER         2450          6
ALLEN      SALESMAN        1600          7
TURNER     SALESMAN        1500          8
ADAMS      CLERK           1400          9
SMITH      CLERK           1400         10
MILLER     CLERK           1300         11
WARD       SALESMAN        1250         12
MARTIN     SALESMAN        1250         13
JAMES      CLERK            950         14
 
已選擇14行。

關于Oracle中怎么實現并列排名顯示就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆城县| 邻水| 旌德县| 大城县| 松阳县| 邓州市| 延津县| 天长市| 大同县| 志丹县| 醴陵市| 高碑店市| 兴安县| 荃湾区| 福州市| 陇川县| 舟山市| 四川省| 当雄县| 花莲市| 曲周县| 福建省| 富锦市| 芦溪县| 区。| 泽普县| 台东市| 岐山县| 博湖县| 遂溪县| 台前县| 秦皇岛市| 西藏| 得荣县| 信宜市| 建平县| 曲松县| 项城市| 涞水县| 攀枝花市| 逊克县|