select *, row_number() over(partition by deptno order by salary desc) rn from s_emp rn <=3;
select *, rank() over(partition by deptno order by salary desc) rn from s_emp where rn <=3;Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。
rank() over(partition by deptno order by salary desc) rn
from s_emp
where rn <=3;Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。