oracle分页 效率的分析

select t2.*,rn  from 
(
       select sysuser.*, rownum rn from 
       
       --在这里自定义需要分页的表
       --sysuser
       (select * from sysuser) sysuser
       
       
       where rownum<=20
) t2
where t2.rn > 10;

oracle的分页需要传递起始和结束的下标


逐步分解【取20-30条的数据】

1、现根据结束下标查询数据

select * from sysuser where rownum <= 30;


2、根据开始下标查询数据【在1中的查询结果集中,再添加rownum】

【select sysuser.*, rownum index from sysuser where rownum <= 30】作为一张表,再进行查询

select t2.*, rn from 
(
	select sysuser.*, rownum rn from sysuser where rownum <= 30
) t2	--as关键字会报错
where t_page.index >=20;


		select t2.*, rn from (
			select xxxx.*, rownum rn from (
				xxxx
			) where xxxx.rownum <= 20
		) t2 where t2.rn >10


		select t2.*, rn from (
			select sysuser.*, rownum rn from (
				select * from (
		  			select 
		  				 sysuser.id,
				         sysuser.userid, 
				         sysuser.username, 
				         sysuser.groupid, 
				         sysuser.sysid,
				         sysuser.userstate, 
				         decode(sysuser.groupid, 
				             '1', (select mc from userjd where id = sysuser.sysid), 
				             '2', (select mc from userjd where id = sysuser.sysid),
				             '3', (select mc from useryy where id = sysuser.sysid),
				             '4', (select mc from usergys where id = sysuser.sysid)) sysmc
		  			from sysuser) sysuser
			) where sysuser.rownum <= 20
		) t2 where t2.rn >10


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值