• 技术文章 >数据库 >MySQL

    oracle和mysql分页的区别

    yangyang2020-04-15 13:41:31原创2131

    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不为空的字段 下一篇:mysql主从不同步解决方法

    相关文章推荐

    • mysql数据存在哪• mysql初始化失败如何解决• mysql无法启动怎么解决• mysql服务不见了解决方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网