Oracle分析函数

--查询所有老师的薪水排名
--rank():具有相等值的排位相同,随后的排名跳跃
select tname,sal,
rank() over(order by sal) as 薪水排名
from teacher
--dense_rank():具有相等值的排位相同,随后的排名是连续的
select tname,sal,
dense_rank() over(order by sal) as 薪水排名
from teacher
--row_number:无论值是否相等,返回的排名都是连续的
select tname,sal,deptno,
row_number() over(order by sal) as 薪水排名
from teacher

--查询各个部门的教师薪水排序
select tname,sal,deptno,
row_number() over(partition by deptno order by sal) as 薪水排名
from teacher
--语法
rank() over(order by 排序的字段 顺序)
rank() over(partition by分组的字段 order by 排序的字段 顺序)

 (以上内容来自王硕老师)

原文地址:https://www.cnblogs.com/liu-chao-feng/p/5890354.html