rownum 特点:先获取数据集,生成序号,最后进行排序。 例子: select rownum rm ,name from emp where rm <=2;取不到值 因此正确的写法是: select rownum,name,deptno from (select name,deptno from emp order by deptno ) where rownum<=3;
row_number() over (partition by a order by b desc) 函数 特点:先对数据按a分组,再对每组数据按降序排序,再赋值序号 select row_number() over (partition by a order by b) c from emp;