最近把平时在项目中常用到的数据库分页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 )
分享到:
相关推荐
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
数据库访问类,采用工厂模式,支持Oracle,SQL Server,Access,以及一些常用的数据库相关的操作方法(如构造日期条件、构造In条件)
这是本人用过的数据库的jar包集合,都可以用JDBC连接数据库,包含mysql,oracle,sqlserver,Access等数据库
oracle,sqlserver及mysql对比,oracle,sqlserver及mysql对比
分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句 分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句 分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为...
sqlserver自动生成sql语句工具sqlserver转oracle
Oracle数据库sql转换mysql数据库工具,用需要的同学可以下载
sql 分页 针对oracle mysql sqlserver 等数据库的通用类
解决oracle sqldeveloper无法连接mysql、SQLServer问题,sqlDeveloper是ORACLE数据库开发工具,自带的是无法连接MS SQL Server以及mysql的,想连接的话需要第三方工具。 使用方法: 解压出来后将2个jar放入jlib...
SQL_Server,Oracle,DB2数据库SQL语句比较
oracle分页 mysql分页 sqlserver分页
hibernate连接mysql,oracle,sqlserver, access数据库包和方法
mysql,oracle,sqlserver分页
Mysql+Oracle+SqlServer+Access+derby jdbc驱动包
用于oracle,mysql,sqlserver,数据库分页联合查询
动软dbhelper类,含oracle,sqlserver,mysql,sqllite,oledb等
数据库转换工具,可实现oracle,mysql,sqlserver,sybase,db2相互转换
NULL 博文链接:https://arlenye.iteye.com/blog/1496799
Oracle和SqlServer的语法区别