最近把平时在项目中常用到的数据库分页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 )

转载于:https://www.cnblogs.com/fancunwei/p/3183015.html

Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理相关推荐

  1. sqlserver中的分页sql语句,不同于mysql中的limit,相当于top+top

    方法1:适用于 SQL Server 2000/2005 SELECT TOP 页大小 *FROM table1WHERE id NOT IN (SELECT TOP 页大小*(页数-1) id FR ...

  2. oracle分页查询sql语句的rn,Mysql和Oracle中的分页SQL语句

    以前总结过一篇,Oracle分页查询语句的优化,当时对Oracle分页语句也着实花费了点时间记忆,不过今天在面试的时候,又考到了不同数据库的分页sql语句,对Oracle数据库的书写又存在了问题,以为 ...

  3. java oracle分页查询语句_ORACLE分页SQL语句

    一个非常好的ORACLE的分页SQL语句 select * from (select my_table.*, rownum as my_rownum from ( select yhbh, yhmc ...

  4. Oracle数据库表连接查询并分页SQL语句提示未明确定义列

    Oracle数据库表连接查询并分页SQL语句提示未明确定义列 两张表中的字段: t_product t_category product_id category_id product_name cat ...

  5. 微软企业库mysql分页存储_使用微软企业库,非分页sql语句得到分页数据方法

    最近使用微软企业库,在做分页绑定的时候发现好象还没有多少通用的方法.为了灵活和换数据库,我不能使用存储过程.为了开发速度最快.我就是用datagrid绑定了. 以前长用的 DataAdapter.Fi ...

  6. 1.MySQL数据库 2.SQL语句

    01数据库概念 * A: 什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. * B: 什么是数据库 ...

  7. MySQL数据库:SQL语句

    MySql数据库系列阅读 MySQL数据库 MySQL数据库:SQL语句 MySQL数据库:完整性约束 MySQL数据库备份与还原 MySQL数据库:编码 1. SQL概述 1.1 什么是SQL SQ ...

  8. oracle+sql+按中文拼音排序,Oracle 中文字段进行排序的sql语句

    Oracle 中文字段进行排序的sql语句 1)按笔画排序 select * from Table order by nlssort(columnName,'NLS_SORT=SCHINESE_STR ...

  9. java分页sql语句_「sql分页」sql语句 实现分页 - seo实验室

    sql分页 sql语句 实现分页 /* 分页思想:比如你要每页获取10条记录,当你显示第5页的记录时, 也就是选取第40条至50条的记录.首先应该从所有的记录集中选取 50条记录,同时进行倒序,再从中 ...

最新文章

  1. python下载文件暂停恢复_python下载文件记录黑名单的实现代码
  2. 计算机没有autoCAD_挑战在一年内用晚上业余时间学会灵活运用CAD(1)|cad|autocad|图学|计算机|电子电路...
  3. python enumerate_python中enumerate的用法实例解析
  4. 一张图解释什么是遗传算法_遗传算法简介及代码详解
  5. DCT(离散余弦变换(DiscreteCosineTransform))
  6. 【英语学习】【WOTD】regale 释义/词源/示例
  7. oracle两表联查分页公式,Oracle中分页查询和联表查询
  8. 剑指offer面试题42. 连续子数组的最大和(动态规划)
  9. lj245a引脚功能图_CA3140中文资料-引脚图及功能
  10. Java基础,无需使用复杂语句,实现输出0-130之间的数字,每行显示7个数字。
  11. 微软 android 输入法下载官网下载地址,微软五笔输入法官网下载_微软王码五笔输入法8689版官方下载-华军软件园...
  12. 千峰教育2218期2022.10.19日
  13. 服务器主机如何多开虚拟机,服务器主机多开虚拟机
  14. 【随笔】Java团长
  15. 不求人,自己修电脑!电脑蓝屏代码查找全攻略
  16. 演讲实录(文字+视频)丨基于DevOps的质量左移与右移思考
  17. 线程、进程、多线程、多进程 和 多任务 小结
  18. win10自动安装软件
  19. Pygame:播放声音和音效
  20. 消防工程师 6 干粉灭火系统 7.1 泡沫灭火系统-组件

热门文章

  1. Android开发笔记(一百四十三)任务调度JobScheduler
  2. Android开发笔记(九)特别的.9图片
  3. java面试-JVM调优和参数配置
  4. [译] 如何学习 CSS
  5. Istio服务网格路由入门
  6. 2017-2018-1 20155301 实验四 外设驱动程序设计
  7. 进程虚拟地址空间之数据分区存放【转】
  8. windows 哪些服务必须打开
  9. 多领域合作 浪潮与美亚柏科赋能信息安全
  10. maven spring 使用memcached方法