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

作者:动力节点 时间:2024-01-24 00:30:29 

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

(一)、mysql的分页查询

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


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

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

查询(1-20)这20条记录
mysql oracle和sqlserver分页查询实例解析

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

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

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

(二)、sqlserver2005的分页查询

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


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

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

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

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

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

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

知道了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)


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

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

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

②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)


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

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

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

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

总结

以上所述是小编给大家介绍的mysql oracle和sqlserver分页查询网站的支持!

来源:http://blog.sina.com.cn/s/blog_9c6852670102wx88.html

标签:mysql,oracle,sqlserver,分页
0
投稿

猜你喜欢

  • python basemap 画出经纬度并标定的实例

    2023-08-23 23:26:40
  • django学习之ajax post传参的2种格式实例

    2022-07-09 02:21:57
  • 快速理解MySQL中主键与外键的实例教程

    2024-01-26 16:16:57
  • 详解MySQL性能优化(二)

    2024-01-23 13:10:47
  • 一文理解MySQL数据库的约束与表的设计

    2024-01-21 08:31:12
  • python使用正则表达式替换匹配成功的组并输出替换的次数

    2022-04-05 06:35:05
  • Python实现简单截取中文字符串的方法

    2022-09-08 01:43:48
  • shtml网页SSI使用详解

    2008-02-20 19:13:00
  • 10分钟搞定让你困惑的 Jenkins 环境变量过程详解

    2023-09-23 13:56:03
  • mysql时区查看与设置方法

    2024-01-20 02:01:46
  • 常见数据库系统比较 Oracle数据库

    2010-07-28 12:44:00
  • 使用Python为中秋节绘制一块美味的月饼

    2023-06-30 17:36:10
  • python笔记(2)

    2021-10-16 21:50:00
  • 分析用Python脚本关闭文件操作的机制

    2021-01-25 07:03:26
  • Mysql 数据库双机热备的配置方法

    2010-06-09 19:13:00
  • Python+Opencv实现计算闭合区域面积

    2023-03-17 03:02:44
  • Python利用pygame模块制作代码雨

    2021-02-13 02:53:24
  • python numpy实现rolling滚动案例

    2023-08-24 17:12:45
  • python爬取微信公众号文章图片并转为PDF

    2021-02-02 06:53:31
  • 如何在js中使用FileSystemObject(fso)

    2007-09-23 09:10:00
  • asp之家 网络编程 m.aspxhome.com