加入收藏 | 设为首页 | 会员中心 | 我要投稿 瑞安网 (https://www.ruian888.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2022-10-14 03:33:32 所属栏目:MySql教程 来源:未知
导读: Oracle
Oracle使用rownum进行分页,rownum是从1开始的:
select * from
(select rownum as rn, a.* from table_name a where rownum (pageIndex - 1) * pageSize

其中,pageIndex是

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 表名称 limitm,n)是很方便,但是对数据量很大的表不适合直接使用。参考:点击打开链接

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

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

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

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

select a.* FROM table_name a 
join 
(select id from table_name limit (pageIndex-1) * pageSize, pagesize) b 
on a.id = b.id

(编辑:瑞安网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!