--直接使用rownum 伪列
select * from (
select empno,ename,job,mgr, rownum rn from emp where rownum <= 14
) where rn >= 5;
---是利用分析函数 row_number() over ( partition by col1 order by col2 )
select * from (
select empno,ename,job,mgr,row_number() over (order by rownum ) rn from emp
)
where rn between 8 and 14;
--使用多层select进行分页查询
--(t order by t.empno desc)这句话可不要
select * from
(select a.*,rownum row_num from
(select * from emp t order by t.empno desc ) a
) b where b.row_num between 1 and 10
--用with来实现分页查询显示
--按empno来排序
with partdata as (select rownum rowno,t.* from emp t order by t.empno)
select * from partdata where rowno between 6 and 14
--只是查询
with partdata as (select rownum rowno,t.*from emp t )
select * from partdata where rowno between 6 and 14