--rownumber
--rownumber
select empno,ename,rownum rm from emp;
--row_number()
select ename,job,deptno,sal,row_number() over(order by sal desc) as sal_rank
from emp;
row_number() OVER是oracle数据库的分析函数,会在数据表生成一个排序列。 语法:ROW_NUMBER ( ) OVER( order_by_clause )
结果:
--rank()
--按照部门编号排序 如果同一个部门 工资一样 排名也一样 并列显示
--序号跳跃
--rank()
--按照部门编号排序 如果同一个部门 工资一样 排名也一样 并列显示
--序号跳跃
select deptno,ename,sal,comm,rank() over
( order by sal desc) rank
from emp;
--dense_rank()
--序号不跳跃 排名连续
select deptno,ename,sal,comm,dense_rank() over
( order by sal desc) rank
from emp;