千家信息网

Oracle中怎么实现并列排名显示

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章给大家介绍Oracle中怎么实现并列排名显示,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。第一种:dense_rank() over (order by 字段 升序
千家信息网最后更新 2026年11月04日Oracle中怎么实现并列排名显示

这篇文章给大家介绍Oracle中怎么实现并列排名显示,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

第一种:dense_rank() over (order  by  字段  升序或降序)  as  别名  from 表名;使用别名方便之后过滤条件使用;排名的时候并列算同一个人,如,1,2,2,3SQL> select ename,job,sal,dense_rank() over(order by sal desc) as rank from emp; ENAME      JOB              SAL       RANK---------- --------- ---------- ----------KING       PRESIDENT       5000          1FORD       ANALYST         3000          2SCOTT      ANALYST         3000          2JONES      MANAGER         2975          3BLAKE      MANAGER         2850          4CLARK      MANAGER         2450          5ALLEN      SALESMAN        1600          6TURNER     SALESMAN        1500          7ADAMS      CLERK           1400          8SMITH      CLERK           1400          8MILLER     CLERK           1300          9WARD       SALESMAN        1250         10MARTIN     SALESMAN        1250         10JAMES      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          2FORD       ANALYST         3000          2 第二种:rank() over (order  by  字段名  升序或者降序) as  别名  from 表名;排名的时候,并列多少个人,序号就算多少个,如:1,2,2,4SQL> select ename,job,sal,rank() over(order by sal desc) as rank from emp; ENAME      JOB              SAL       RANK---------- --------- ---------- ----------KING       PRESIDENT       5000          1FORD       ANALYST         3000          2SCOTT      ANALYST         3000          2JONES      MANAGER         2975          4BLAKE      MANAGER         2850          5CLARK      MANAGER         2450          6ALLEN      SALESMAN        1600          7TURNER     SALESMAN        1500          8ADAMS      CLERK           1400          9SMITH      CLERK           1400          9MILLER     CLERK           1300         11WARD       SALESMAN        1250         12MARTIN     SALESMAN        1250         12JAMES      CLERK            950         14 已选择14行。第三种:row_number() over (order by  字段名  升序或降序)  as  别名  from 表名;这种就是不分并列,直接按序号来排名,如:1,2,3,4SQL> select ename,job,sal,row_number() over(order by sal desc) as rank from emp; ENAME      JOB              SAL       RANK---------- --------- ---------- ----------KING       PRESIDENT       5000          1FORD       ANALYST         3000          2SCOTT      ANALYST         3000          3JONES      MANAGER         2975          4BLAKE      MANAGER         2850          5CLARK      MANAGER         2450          6ALLEN      SALESMAN        1600          7TURNER     SALESMAN        1500          8ADAMS      CLERK           1400          9SMITH      CLERK           1400         10MILLER     CLERK           1300         11WARD       SALESMAN        1250         12MARTIN     SALESMAN        1250         13JAMES      CLERK            950         14 已选择14行。

关于Oracle中怎么实现并列排名显示就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

别名 升序 字段 选择 个人 内容 序号 时候 更多 条件 帮助 不错 兴趣 员工 小伙 小伙伴 就是 文章 知识 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 上海喔噻互联网科技有限公司 广州大一互联网络科技有限公司 互联网金融监管科技数据 凡科互联网科技 互联网科技缩写 顺网科技2021年互联网排名 互联网公司会议桌创意科技软装饰 广州优美互联网科技 河南住房之家互联网科技 富国互联网金融科技混合基金 广州互联网高科技取餐柜 上海万顺科技互联网有限公司招聘 第三届互联网大会安防黑科技 华人运通互联网科技公司 科技互联网专业务虚会材料 北京瑞云互联网科技有限公司 互联网科技创新方面的资料 宁波允成互联网科技有限公司 如何强化互联网金融科技 科技互联网龙头 厦门中拓互联网络科技有限公司 朗新科技与工业互联网 喔噻互联网科技 小米互联网科技园设置 岳阳华臻互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 南博望互联网科技有限公司 领航科技大厦互联网公司 科技互联网专业务虚会材料
0