数据库--SQL语句Mysql、Oracle分页

吾日三省贾斯汀 发表于 2021/09/10 00:33:35 2021/09/10
【摘要】 一、Mysql使用limit分页 select * from stu limit m, n; -- m = (startPage-1)*pageSize ,n = pageSize PS: 1、第一个参数值m表示起始行,0表示第一行,第二个参数表示取多少行(页面大小) 2、m= (2-1)*10+1,n=10 ,表示 limi...

一、Mysql使用limit分页

select * from stu limit m, n;  -- m = (startPage-1)*pageSize ,n = pageSize
 

PS:

1、第一个参数值m表示起始行,0表示第一行,第二个参数表示取多少行(页面大小)

2、m= (2-1)*10+1,n=10 ,表示 limit 11,10从11行开始,取10行,即第2页数据。

3、m、n参数值不能在语句当中写计算表达式,写到语句之前必须计算好值。

 

二、Oracle使用rownum分页


  
  1. select * from (
  2. select rownum rn,a.* from table_name a where rownum <= x
  3. )
  4. where rn >= y; -- x表示结束行,x = startPage*pageSize,y表示起始行,y = (startPage-1)*pageSize+1

PS:

1、>= y,<= x表示从第y行(起始行)~x行(结束行) 。

2、rownum只能比较小于,不能比较大于,因为rownum是先查询后排序的,例如你的条件为rownum>1,当查询到第一条数据,rownum为1,则不符合条件。第2、3...类似,一直不符合条件,所以一直没有返回结果。所以查询的时候需要设置别名,然后查询完成之后再通过调用别名进行大于的判断。

文章来源: blog.csdn.net,作者:吾日三省贾斯汀,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/JustinQin/article/details/77861867

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。