oracle和mysql分页的方法有什么不同
小编给大家分享一下oracle和mysql分页的方法有什么不同,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
oracle和mysql分页的区别:
一、MySQL使用limit分页
MySQL 分页 (利用LIMIT关键字) 计算参数为 开始序号(startNum),要查的总条数 (totalNum)
select*fromstulimitm,n;//m=(startPage-1)*pageSize,n=pageSize
(1)第一个参数值m表示起始行,第二个参数表示取多少行(页面大小)
(2)m= (2-1)*10+1,n=10 ,表示 limit 11,10从11行开始,取10行,即第2页数据。
(3)m、n参数值不能在语句当中写计算表达式,写到语句之前必须计算好值。
二、Oracle使用rownum分页
Oracle 分页 (利用自带的rownum) 计算参数为 开始序号(startNum) , 结束序号 (endNum)
select*from(selectrownumrn,a.*from(select*fromtable_nameorderbyXXX)awhereruwnum<=y//结束行,y=startPage*pageSize)wherern>x;//起始行,x=(startPage-1)*pageSize
注:rownum只能比较小于,不能比较大于,因为rownum是先查询后排序的,例如你的条件为rownum>1,当查询到第一条数据,rownum为1,则不符合条件。第2、3...类似,一直不符合条件,所以一直没有返回结果。所以查询的时候需要设置别名,然后查询完成之后再通过调用别名进行大于的判断。
或者也可以直接写成
select*from(selectrownumrn,a.*from(select*fromtable_nameorderbyXXX)a)wherern>xandrn<=y;//x=(startPage-1)*pageSize,y=startPage*pageSize
看完了这篇文章,相信你对oracle和mysql分页的方法有什么不同有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。