oracle mysql 分页查询

本文介绍了Oracle数据库中两种分页方法:使用rownum伪列和row_number()分析函数,并对比了它们的效率。同时,文章还展示了MySQL的简单分页实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle的分页:

       Oracle 有rownum字段,rownum是一个伪列,是oracle系统自动为查询返回结果的每行分配的编号,第一行为1,第二行为2 ,以此类推。。。

有两种分页的方法:

第一种:利用rownum伪列方法

表名   ROL_TEMPLATE_FUNCTION 要求:搜索第21个到第40个的数据

select *
  from (select rownum as rowno, A.*
          from (SELECT * FROM ROL_TEMPLATE_FUNCTION order by templatecode) A
         where rownum <= 40)
 where rowno >= 21;

 

其中最内层的查询SELECT * FROM ROL_TEMPLATE_FUNCTION order by templatecode表示不进行翻页,根据templatecode 升序排列。ROWNUM < =40 和>=21控制分页查询的每页的范围。

第二种:利用分析函数row_number() 方法

select *
  from (select t.*, row_number() over(order by t.templatecode) rowno from ROL_TEMPLATE_FUNCTION t)
 where rowno between 21 and 40;


效率问题:第一种〉第二种

 

mysql 分页

不多说看sql语句:

select * from table WHERE … LIMIT 10; #返回前10行
select * from table WHERE … LIMIT 0,10; #返回前10行
select * from table WHERE … LIMIT 10,20; #返回第10-20行数据


mysql最简单,这里就不多说了。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值