最近把平时在项目中常用到的数据库分页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 )
分享到:
相关推荐
不同的数据库管理系统(DBMS)有不同的分页查询语句,下面对 Oracle、DB2、SQL Server、MySQL、Access 等数据库的分页查询语句进行了整理。 SQL Server 分页查询 SQL Server 中有两种分页查询方法: 1. 第一种...
支持Access,SqlServer,MySql,Oracle,SQLite,Sybase,DB2,PostgreSql连接 全模板化的代码生成器,轻松修改即可实现自定义各种编程语言模板、支持代码批量输出 内置一套强大的C#三层架构模板,此模板支持生成简单三层及...
Oracle的体系结构包括SQL语句,分为查询语言(DQL)、数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和事务控制语言(TCL)。比如,DML中的增删改操作,DQL的分组查询、子查询和表连接,以及DCL的...
1. **数据库分类与选择**:数据库根据负载量、成本和安全需求分为小型(如Access、Foxbase)、中型(如MySQL、SQL Server、Informix)和大型(如Sybase、Oracle、DB2)。选择数据库需考虑项目的用户规模、预算和安全...
主流的关系数据库分为商用数据库(如Oracle、SQL Server、DB2)、开源数据库(如MySQL、PostgreSQL)、桌面数据库(如Microsoft Access)和嵌入式数据库(如Sqlite)。 2. SQL语言能力: - DDL:创建、删除和修改...
使用SQL语句选择,插入,更新和删除数据。 支持存储过程。 支持分页。 查询自动映射或自定义映射到自己的实体类型(如产品类型)或动态类型(NET 4.0新)。 安全,使用索引或命名参数,以防止SQL注入。 强大的性能。...
•支持Access,SqlServer,MySql,Oracle,SQLite,Sybase,DB2,PostgreSql连接 •全模板化的代码生成器,轻松修改即可实现自定义各种编程语言模板、支持代码批量输出 •内置一套强大的C#三层架构模板,此模板支持生成...
- SQL Server和Access使用`TOP`。 - DB2使用`FETCH FIRST`。 - Oracle基于`ROWNUM`进行行数统计。 例如,在Oracle中,为了获取前5条按`hp_max`降序排列的记录,需要使用子查询和`ROWNUM`,因为直接使用`FETCH ...
如果是SQL Server和Access,需要使用TOP关键字,比如: SELECT TOP 5 name, hp_max FROM heros ORDER BY hp_max DESC 如果是DB2,使用FETCH FIRST 5 ROWS ONLY这种关键字: SELECT name, hp_max FROM heros ORDER...
数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询) 数据控制语言Data Controlling Language(DCL),用来...
常见的数据库产品有Oracle、SQL Server、DB2、Sybase、Informix、MySQL、hsqldb、InterBase等,以及更贴近个人用户级别的Foxpro、Access和Excel。 数据库对象是数据库中的基本元素,如表(table)、字段(column)...
### JDBC连接各种数据库的知识点...此外,还需要注意的是,在实际应用中,为了提高性能和安全性,建议使用`PreparedStatement`而不是普通的`Statement`来执行SQL语句,并且在处理大型数据集时合理利用分页查询等技术。
15.3.3 执行SQL语句 242 15.3.4 获得查询结果集中的记录数 243 15.3.5 获得结果集中的某一条记录 244 15.3.6 逐行获取结果集中的每一条 15.3.6 记录 245 15.3.7 结果集的分页 248 15.3.8 用户动态添加记录 249 15.3....
ADO.NET是.NET Framework的一部分,它提供了与各种数据库交互的能力,包括但不限于Access、SQL Server、Oracle、MySQL和DB2等。ADO.NET的出现解决了不同数据库系统之间接口不统一的问题,它通过中间层——数据库驱动...
- **多数据库支持**:兼容多种主流数据库系统,如Oracle、SQL Server、DB2、MySQL、Access等。 #### 五、产品组成 **Interface4j**由四个主要部分组成: 1. **Console控制管理平台**:提供当前运行的Web服务器...
- **支持多种数据库:**MyBatis支持多种数据库,如MySQL、Oracle、DB2等。 - **与Spring集成良好:**MyBatis可以轻松地与Spring框架集成,实现事务管理等功能。 **3. MyBatis框架的缺点:** - **SQL管理分散:**...