Oracle

Oracle使用rownum进行分页,rownum是从1开始的:

select * from 
(select rownum as rn, a.* from table_name a where rownum <= pageIndex * pageSize)
where rn > (pageIndex - 1) * pageSize

其中,pageIndex是页码,pageSize是每页的条数

MySQL

MySQL的limit语句 ​(select * from 表名称 limit m,n) ​是很方便,但是对数据量很大的表​不适合直接使用​。参考:​点击打开链接​

综合考虑下,我们可以利用索引来进行高效地分页查询

方式一:把这一页的第一条数据的id查出来,然后按数量查询

select * from table_name 

where id >= (select id from table_name limit (pageIndex-1) * pageSize, 1)

limit pageSize

方式二:把这一页所有的数据id查出来,然后从数据库中按照这些id进行查询

select a.* FROM table_name a 

join

(select id from table_name limit (pageIndex-1) * pageSize, pagesize) b

on a.id = b.id

更多内容,请关注公众号:​程序员高手之路

在公众号回复:​Oracle资源​   即可免费获取Oracle视频教程!

Oracle与MySQL的分页查询sql语句格式_公众号

Oracle与MySQL的分页查询sql语句格式_mysql分页查询_02