Oracle:分页

分页

什么是rownum,有何特点?

1)rownum是oracle专用的关健字,rownum与表在一起,表在它在,表亡它亡。

2)rownum是number类型,rownum最小值是1,最大值与你的记录条数相同,且唯一连续。

3)rownum的特性:查询出符合条件的数据,然后再给这些数据赋值rownum,所以某一条数据并不是固定的rownum。

4)rownum也能参与关系运算,通常rownum只用于<或<=关系运算。

rownum = 1 //1条数据
rownum < 5 //4条数据	
rownum <=5 //5条数据 	
rownum <>2 //1条数据,与 rownum<2 相同	
rownum > 2 //没有数据   	
rownum >=2 //没有数据
rownum = 2 //没有数据

 

--显示emp表中3-8条记录(方式一:使用差集)
select rownum "伪列",emp.* from emp where rownum<=8
minus
select rownum,emp.* from emp where rownum<=2;
--显示emp表中3-8条记录(方式二:使用子查询,在from子句中使用)
select xx.*
from (select rownum ids,emp.* from emp where rownum<=8) xx
where ids>=2;

注意:在子查询中的别名,不可加""引号

关键字

rowid : 表示每条记录的唯一编号 ,这个Oracle数据库自己用的。

rownum : 在查询结果上为每条记录加的一个行号。 

分页查询的固定模板

select t.* from ( select rownum rn , temp.* from (

    select * from t_order order by t_order.order_price desc

) temp ) t

where t.rn > ( page -1 )*size and t.rn <=  page*size ;

标记为这个颜色的为固定模板,不管做任何查询都不用动

标记为这个颜色是我们编写查询语句,不用考虑分页

标记为这个颜色是分页的第一条记录rownum编号:公式 = (页码-1)*每页记录数量

标记为这个颜色是分页的最后一条记录rownum编号:公式 = 页码*每页记录数量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值