三种用于排序的专用的窗口函数
- Rank ()
在计算顺序的时候,会跳过相同的位次。例如,存在三个重复值,最后会输出1,1,1,4 - DENSE_RANK()
不会跳过相同的位次,允许重复值存在。
1,1,1,2 - ROW_NUMBER()
这个函数赋予唯一的连续位次。
例如,有3条排在第1位时,排序为:1,2,3,4······
窗口函数的用法:
<窗口函数> OVER ( [PARTITION BY <列清单> ]
ORDER BY <排序用列清单> )
*其中[ ]中的内容可以忽略
例如
select emp_no, salary,
dense_rank() over (order by salary desc) as rank
from salaries
where to_date='9999-01-01'
order by rank asc,emp_no asc;
Reference: 牛客网
777

被折叠的 条评论
为什么被折叠?



