Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 最近把平时在项目中常用到的数据库分页sql总结了下。大家可以贴出分页更高效的sql语句。

第一种分页方法

  需用到的参数:    
 pageSize 每页显示多少条数据    
 pageNumber 页数 从客户端传来    
 totalRecouds 表中的总记录数 select count (*) from 表名    
 totalPages 总页数    
 totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1    
 pages 计算前pages 条数据    
 pages= pageSize*(pageNumber-1)    
 SQL语句:    
 select top pageSize * from 表名 where id  not in (select top pages id from 表名 order by id) order by id    
 第二种分页方法   
 pageSize 每页显示多少条数据    
 pageNumber 页数 从客户端传来   
 pages=pageSize*(pageNumber-1)+1  
 select top pageSize * from 表名 where id>=(select max(id) from (select top pages id from 表名 order by id asc ) t )   
mysql分页    
 需用到的参数:    
 pageSize 每页显示多少条数据    
 pageNumber 页数 从客户端传来    
 totalRecouds 表中的总记录数 select count (*) from 表名    
 totalPages 总页数    
 totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1    
 pages 起始位置    
 pages= pageSize*(pageNumber-1)    
 SQL语句:    
 select * from 表名 limit pages, pageSize;    
 mysql 分页依赖于关键字 limit 它需两个参数:起始位置和pageSize    
 起始位置=页大小*(页数-1)    
 起始位置=pageSize*(pageNumber -1)    
oracle分页   
 pageSize 每页显示多少条数据    
 pageNumber 页数 从客户端传来    
 totalRecouds 表中的总记录数 select count (*) from 表名    
 totalPages 总页数    
 totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1    
 startPage 起始位置    
 startPage= pageSize*(pageNumber-1)+1  
 endPage=startPage+pageSize   
 SQL语句   
 select a.* from    
 (   
   select rownum num ,t.* from  表名 t where 某列=某值 order by id asc    
 )a   
 where a.num>=startPage and a.num<endPage   
db2分页   
 int startPage=1  //起始页   
 int endPage;     //终止页   
 int pageSize=5;  //页大小   
 int pageNumber=1 //请求页   
 startPage=(pageNumber-1)*pageSize+1    
 endPage=(startPage+pageSize);   
 SQL语句   
 select * from (select 字段1,字段2,字段3,字段4,字段5,rownumber() over(order by 排序字段 asc ) as rowid  from 表名 )as a where a.rowid >= startPage AND a.rowid <endPage   
access分页   
 pageSize 每页显示多少条数据    
 pageNumber 页数 从客户端传来   
 pages=pageSize*(pageNumber-1)+1  
 SQL语句   
 select top pageSize * from 表名 where id>=(select max(id) from (select top pages id from 表名 order by id asc ) t )  


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
10月前
|
SQL 缓存 关系型数据库
如何解决MySQL 的深度分页问题?
在构建高性能Web应用程序时,数据库查询性能至关重要。本文深入探讨了MySQL中`LIMIT ... OFFSET ...`语法的性能瓶颈,并介绍了一种更高效的分页方法——游标分页(Cursor Pagination)。通过记录每页最后一个记录的唯一标识,游标分页能显著提升查询效率,将时间复杂度从O(n + m)降低到O(log n + m),特别适用于大规模数据的分页查询场景。此外,文章还介绍了其他优化方法,如覆盖索引分页、分区表、缓存和基于时间戳的分页,并提供了实践中的最佳建议,帮助开发者选择最适合的分页策略,提升系统性能和用户体验。
627 9
|
6月前
|
存储 SQL 关系型数据库
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
|
6月前
|
SQL Java 数据库连接
Java中实现SQL分页的方法
无论何种情况,选择适合自己的,理解了背后的工作原理,并能根据实际需求灵活变通的方式才是最重要的。
189 9
|
9月前
|
监控 关系型数据库 MySQL
MySQL和SQLSugar百万条数据查询分页优化
在面对百万条数据的查询时,优化MySQL和SQLSugar的分页性能是非常重要的。通过合理使用索引、调整查询语句、使用缓存以及采用高效的分页策略,可以显著提高查询效率。本文介绍的技巧和方法,可以为开发人员在数据处理和查询优化中提供有效的指导,提升系统的性能和用户体验。掌握这些技巧后,您可以在处理海量数据时更加游刃有余。
865 9
|
11月前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
277 11
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
11月前
|
关系型数据库 MySQL PHP
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
280 4
|
11月前
|
SQL 关系型数据库 MySQL
mysql分页读取数据重复问题
在服务端开发中,与MySQL数据库进行数据交互时,常因数据量大、网络延迟等因素需分页读取数据。文章介绍了使用`limit`和`offset`参数实现分页的方法,并针对分页过程中可能出现的数据重复问题进行了详细分析,提出了利用时间戳或确保排序规则绝对性等解决方案。
470 1
|
SQL 存储 Oracle
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
479 0
|
SQL 存储 Oracle
Oracle SQL语句优化方法总结
  1、SQL语句尽量用大写的   因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。   2、使用表的别名   当在SQL语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。这样一来,   就可以减少解析的时间并减少那些由列歧义引起的语法错误。   3、选择最有效率的表名顺序(只在基于规则的优化器(RBO)中有效)
301 0

推荐镜像

更多
下一篇
oss云网关配置