浅谈Oracle、Mysql的分页查询SQL

前提条件:

假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql、Oracle分页查询student表

1、Oracel的分页查询:

SELECT  * FROM
    (
        SELECT
            ROWNUM   rn ,*
        FROM
            student
        WHERE
            Rownum <= pageNo * pageSize
    )
WHERE

     rn > (pageNo - 1) * pageSize

解析:ROWNUM(伪行列)从1开始,主要是通过伪行列来查询分页数据,比如pageNo = 1,pageSize = 10,先从student表取出行号小于等于10的记录,然后再从这些记录取出rn大于0的记录,从而达到分页目的。ROWNUM是一个伪列,它是oracle为查询结果所编的一个号,第一行的 ROWNUM为1,第二行为2,以此类推。

2、Mysql的分页查询:

 SELECT  *  FROM student  LIMIT (PageNo - 1) * PageSize,PageSize;

解析:mysql自带的limit函数,比如 limit 0,5==》代表第一页显示5条数据,limit n,m==》n代表分页的第几页的下标(从0开始),m代表一页显示多少数据。





  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值