row_number rank dense_rank

注意工资为3000及2975.00的排序结果

SQL> select b.dname,
       a.ename,
       a.sal,
       row_number() over(partition by b.dname order by a.sal desc) as rownumber,
       rank() over(partition by b.dname order by a.sal desc) as rank,
       dense_rank() over(partition by b.dname order by a.sal desc) as denserank
  from emp a
 inner join dept b on b.deptno = a.deptno
 order by 1, 3 desc
 /

DNAME			     ENAME			 SAL  ROWNUMBER       RANK  DENSERANK
---------------------------- -------------------- ---------- ---------- ---------- ----------
ACCOUNTING		     KING			5000	      1 	 1	    1
ACCOUNTING		     CLARK			2450	      2 	 2	    2
ACCOUNTING		     MILLER			1300	      3 	 3	    3
RESEARCH		     FORD			3000	      1 	 1	    1
RESEARCH		     SCOTT			3000	      2 	 1	    1
RESEARCH		     JONES			2975	      3 	 3	    2
RESEARCH		     ADAMS			1100	      4 	 4	    3
RESEARCH		     SMITH			 800	      5 	 5	    4
SALES			     BLAKE			2850	      1 	 1	    1
SALES			     ALLEN			1600	      2 	 2	    2
SALES			     TURNER			1500	      3 	 3	    3
SALES			     WARD			1250	      4 	 4	    4
SALES			     MARTIN			1250	      5 	 4	    4
SALES			     JAMES			 950	      6 	 6	    5

14 rows selected.

SQL> 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值