• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql oracle和sqlserver分页查询实例解析

    最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习.....

    (一)、mysql的分页查询

    mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句通式:

    selecto.*from(sql)o limit firstIndex,pageSize

    如下面的截图,每页显示的记录数为20:

    查询(1-20)这20条记录

    查询(21-40)这20条记录


    mysql的分页查询就这么简单......

    (二)、sqlserver2005的分页查询

    在sqlserver2005之前一直借助top关键字来实现分页查询,不过效率低,在sqlserver2005及其之后的版本都使用row_number()解析函数来完成分页查询,效率有了很大的提高,不过sql语句比较复杂,下面给出分页查询的通式:

    selecttoppageSizeo.*from(selectrow_number()over(orderbyorderColumn)asrownumber,*from(sql)asowhererownumber>firstIndex;

    下面看截图,每页显示20条记录数:

    查询(1-20)这20条记录

    查询(21-40)这20条记录

    知道了sqlserver中的row_number函数,分页也就简单了.....

    (三)、oracle分页查询

    接下来重点说说oracle的分页查询,oracle的分页查询方法相对来说要多点,ROWNUM、row_number(),今天主要将两种效率稍好的分页查询语句。

    ①ROWNUM查询分页通式:

    select*from(selecta.*,ROWNUMrn from(sql)a whereROWNUM=(firstIndex+pageSize))wherern>firstIndex

    以下截图是以这种方式进行的查询语句:

    查询(1-21)这20条记录*****(没有ID=6的记录,所以查询到的最大ID为21)



    查询(22-41)这20条记录*****(没有ID=6的记录,所以开始查询到的ID为22,以及最大ID为41)

    ②row_number()解析函数分页查询方式:

    select*from(select*from(selectt.*,row_number()over(orderbyorderColumn)asrownumberfrom(sql)t) p wherep.rownumber>firstIndex)whererownum=pageSize

    以下截图是使用row_number()方式的分页查询效果:

    查询(1-21)这20条记录*****(没有ID=6的记录,所以查询到的最大ID为21)



    查询(22-41)这20条记录*****(没有ID=6的记录,所以开始查询到的ID为22,以及最大ID为41)


    在ROWNUM查询的方式中,在第二层的sql语句中有个"where ROWNUM(firstIndex+pageSize)order by idasc,从数据表中查询出(firstIndex+pageSize)条记录,所以如果这个值很小的话,效率会很好,如果对于大数据量的表单,这个值如果是上千,比如:select* from wyuse where rownum(5000) order by idasc,这样一开始会选出5000条记录,效率自然会慢很多....

    总结

    以上所述是小编给大家介绍的mysql oracle和sqlserver分页查询,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • mysql一对多关联查询分页错误问题的解决方法
    • MySQL百万级数据分页查询优化方案
    • mysql千万级数据分页查询性能优化
    • 详解MySQL的limit用法和分页查询语句的性能分析
    • Mysql Limit 分页查询优化详解
    • Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
    • mysql、mssql及oracle分页查询方法详解
    • Mysql中分页查询的两个解决方法比较
    • oracle,mysql,SqlServer三种数据库的分页查询的实例
    • MySQL中SQL分页查询的几种实现方法及优缺点
    上一篇:mysql having用法解析
    下一篇:浅析mysql union和union all
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mysql oracle和sqlserver分页查询实例解析 mysql,oracle,和,sqlserver,分页,