Oracle 数据库数据排名函数:rank() 和dense_rank() 。

本文介绍了Oracle数据库中的两种排名函数:rank() 和 dense_rank() 的使用方法,并通过具体示例展示了这两种函数如何对相同薪资的员工进行不同的排名处理。

Oracle 数据库数据排名函数:  rank() 和dense_rank() 。

--------------------------------------------间断排名(也称强制排名)   rank() --------------------------------------------


SQL:    SELECT empno,ename,sal,rank() over(ORDER BY nvl(sal,0) DESC) x FROM emp;

EMPNO

ENAME

SAL

X

7369

SMITH

8000

1

7839

KING

8000

1

7782

CLARK

7450

3

7788

SCOTT

7000

4

7698

BLAKE

6850

5

7902

FORD

6000

6

7566

JONES

5975

7

7499

ALLEN

5600

8

7844

TURNER

5500

9

7521

WARD

5250

10

7654

MARTIN

5250

10

7876

ADAMS

4100

12

9000

xiaoming

 

13

 

--------------------------------------------不间断排名 dense_rank() -----------------------------------------------


SQL:      SELECT empno,ename,sal,dense_rank() over(ORDER BY nvl(sal,0) DESC) x  FROM emp;

EMPNO

ENAME

SAL

X

7369

SMITH

8000

1

7839

KING

8000

1

7782

CLARK

7450

2

7788

SCOTT

7000

3

7698

BLAKE

6850

4

7902

FORD

6000

5

7566

JONES

5975

6

7499

ALLEN

5600

7

7844

TURNER

5500

8

7521

WARD

5250

9

7654

MARTIN

5250

9

7876

ADAMS

4100

10

9000

xiaoming

 

11

转载于:https://www.cnblogs.com/small-bai/p/3229640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值