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

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