您现在的位置是:课程教程文章
oracle和mysql分页的区别
2023-12-18 19:07课程教程文章 人已围观
-
Oracle数据库基础|数据库安装、账户管理与
Oracle数据库基础|数据库安装、账户管理与需要更多学习资料的同学可以加咨询老师QQ3073698163... -
Oracle RMAN备份与恢复视频教程高级篇
Oracle RMAN备份与恢复视频教程高级篇RMAN(Recovery Manager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的... -
Oracle数据库进阶|数据库的表操作和数据库
Oracle数据库进阶|数据库的表操作和数据库需要更多学习资料的同学可以加咨询老师QQ3073698163... -
Oracle【二】
Oracle【二】 ...
oracle和mysql分页的区别:
一、MySQL使用limit分页
MySQL 分页 (利用LIMIT关键字) 计算参数为 开始序号(startNum),要查的总条数 (totalNum)
select * from stu limit m, 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 ( select rownum rn, a.* from ( select * from table_name order by XXX ) a where ruwnum <= y // 结束行,y = startPage*pageSize ) where rn > x; // 起始行,x = (startPage-1)*pageSize
注:rownum只能比较小于,不能比较大于,因为rownum是先查询后排序的,例如你的条件为rownum>1,当查询到第一条数据,rownum为1,则不符合条件。第2、3...类似,一直不符合条件,所以一直没有返回结果。所以查询的时候需要设置别名,然后查询完成之后再通过调用别名进行大于的判断。
或者也可以直接写成
select * from ( select rownum rn, a.* from ( select * from table_name order by XXX ) a ) where rn > x and rn <= y; // x = (startPage-1)*pageSize, y = startPage*pageSize
推荐:MySQL教程
课程教程:oracle和mysql分页的区别上一篇:mysql主从不同步解决方法
下一篇:没有了