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高

 

转载于:https://www.cnblogs.com/sunn3d/p/3726269.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值