oracle中rank() over与row_number()的差别

oracle中rank() over与row_number()的区别

PARTITION by emp_no ORDER BY sal desc 根据列部门号进行分组,按照 工资 升序排列。

rank() OVER对有相同的值,标记相同的值。row_number() 则不会。

 

有如下数据:

oracle中rank() over与row_number()的差别

1.使用rank() over() 进行排序,结果如下:

oracle中rank() over与row_number()的差别
 

2.使用row_number() over()进行排序,结果如下:

oracle中rank() over与row_number()的差别