首页 > 代码库 > Oracle数据库分页总结

Oracle数据库分页总结

在Oracle数据库中,数据分页功能是必不可少的操作,

Oracle数据库分页查询语句有三种写法:

--1.根据ROWID 来分
select * from nmb where rowid in(
select rid from (
select rownum rn,rid from (
select rowid rid,userid from nmb order by userid desc )
where rownum <30)
where rn>20)
order by userid desc;--效率最高

--2.按分析函数来分页
select * from
(select t.*,row_number() over(order by userid desc)
rk from nmb t
)
where rk<30 and rk>20 --执行正确(但是效率最低)

--3.按rownum来分页
select * from (
select t.*,rownum rn from (
select * from nmb order by userid desc
)t where rownum<30
)where rn>20 --执行正确,效率比2高