row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序)
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)
dense_rank()l是连续排序,有两个第二名时仍然跟着第三名。
相比之下row_number是没有重复值的
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)
dense_rank()l是连续排序,有两个第二名时仍然跟着第三名。
相比之下row_number是没有重复值的
基于[deptno]进行不具有重复序列的连续排序:
SELECT deptno,empno,ROW_NUMBER() OVER(ORDER BY deptno) FROM emp;
基于[deptno]进行跳跃排序:
SELECT deptno,empno,RANK() OVER(ORDER BY deptno) FROM emp;
基于[deptno]进行具有重复序列的连续排序:
SELECT
基于[deptno]进行具有重复序列的连续排序:
SELECT