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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 最近把平时在项目中常用到的数据库分页sql总结了下。大家可以贴出分页更高效的sql语句。sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNumber 页数 从客户端传来 totalRecouds 表中的总记录数 select count ...
最近把平时在项目中常用到的数据库分页sql总结了下。大家可以贴出分页更高效的sql语句。
sqlserver分页

第一种分页方法
需用到的参数:
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 )

作者:从此启程/范存威

出处:http://www.cnblogs.com/fancunwei/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。如文章对您有用,烦请点个推荐再走,感谢! 本博客新开通打赏,鼠标移到右侧打赏浮动处,即可赏博主点零花钱,感谢您的支持!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
2月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
319 11
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
238 8
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
6月前
|
SQL 数据采集 关系型数据库
实现MySQL与SQL Server之间数据迁移的有效方法
总的来说,从MySQL到SQL Server的数据迁移是一个涉及到很多步骤的过程,可能会遇到各种问题和挑战。但只要精心规划、仔细执行,这个任务是完全可以完成的。
463 18
|
7月前
|
SQL Oracle 关系型数据库
解决大小写、保留字与特殊字符问题!Oracle双引号在SQL中的特殊应用
在Oracle数据库开发中,双引号的使用是一个重要但易被忽视的细节。本文全面解析了双引号在SQL中的特殊应用场景,包括解决标识符与保留字冲突、强制保留大小写、支持特殊字符和数字开头标识符等。同时提供了最佳实践建议,帮助开发者规避常见错误,提高代码可维护性和效率。
273 6
|
8月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
8月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
|
9月前
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
399 9

推荐镜像

更多