oracle 的row_number() over() 和 rownum的区别

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;

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页