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

Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理的更多相关文章

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

    最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句.sqlserver分页  第一种分页方法 需用到的参数:  pageSize 每页显示多少条数据  pageNu ...

  2. 1 Oracle概述&与MySQL的差别&SQL语句分类复习

    一. 知识点目录 Oracle的概念和安装 基本查询 条件查询 Oracle中的函数 多表查询 子查询 表空间的状态 用户 视图 索引 序列 同义词 PLSQL编程 游标 存储过程 存储函数 触发器 ...

  3. oracle sqlserver mysql数据库分页

    1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM tabl ...

  4. Oracle,SQL Server 数据库较MySql数据库,Sql语句差异

    原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...

  5. mysql(数据库,sql语句,普通查询)

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

  6. MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系

    数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于 ...

  7. 【MySQL】MySQL基础(SQL语句、约束、数据类型)

    数据库的基本概念 什么是数据库? 用于存储和管理数据的仓库 英文单词为:DataBase,简称DB 数据库的好处? 可以持久化存储数据 方便存储和管理数据 使用了统一的方式操作数据库 -- SQL 常 ...

  8. MySQL的常用SQL语句.md

    修改密码 这是常见的大家一般都要用的 首先     安装成功了打开cmd --> mysql -u root -p -->输入你的密码     修改mysql root用户密码    格式 ...

  9. mysql--------大数据量分页sql语句优化

    分页程序原理很简单,这里就不多说了,本篇文章主要说的是在数据表记录量比较大的情况下,如何将分页SQL做到更优化,让MySQL执行的更快的方法. 一般的情况下,我们的分页SQL语句是这样的: ,; 以上 ...

随机推荐

  1. JS代码片段

    1. 对比cookie // cookie array function getCookieArrayByStr(str) { var cookies = str.split("; &quo ...

  2. hdu4612-Warm up(边的双连通分量)

    题意:有n个点,m条边,有重边.现在可以任意在图上添加一条边,求桥的最少数目. 题解:思路就是求出双连通分量之后缩点成为一棵树,然后求出树的直径,连接树的直径就能减少最多的桥. 难点在于:有!重!边! ...

  3. FIREDAC数据引擎

    以前使用过BDE.ADO.DBX等数据引擎,后来发现它们都没有UNIDAC好用, 所以在很长的一段时间内中间件都使用UNIDAC作为数据引擎. 偶然的机会,使用了DELPHI XE5自带的FIREDA ...

  4. [Objective-c 基础 - 3.1] 内存管理

    A.内存存放.retain.release 1.栈内存:存放局部变量,运行超过变量作用域自后编译器自动回收 2.堆内存:存放对象(地址,对象实体) 3.对象的基本结构 (1)引用计数器(4字节):当计 ...

  5. BAT及各大互联网公司2014前端笔试面试题:JavaScript篇

    前面几题是会很基础,越下越有深度. 初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型: ...

  6. PHOTOSHOP 中画笔工具和铅笔工具的一个小小差别

    今天在作图的时候偶然发现的一个以前并没有在意画笔和铅笔的小小区别,情况是这样的,我在做图像处理,需要一个单像素的闭合曲线灰度图来做实验,然后用画笔工具把直径调到1之后去作图,放大之后发现,跟预想的结果 ...

  7. Java/Andriod- 使用Eclipse搭建环境

    从网上找来的,做了一点小修改,我自己试了一下,1.3步骤我没去做,最后也不影响. 在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld.本文的主题如下: 1.环 ...

  8. HTML中标签和元素的区别

    作为一个前端,相信大家最先接触应该都是HTML吧?在HTML中很多人可能都没有把什么叫标签,什么叫元素这个概念搞清楚,为了把这个大家不曾留意的易混淆的搞清楚,特作此一文彻底解决掉这个问题! 首先我们来 ...

  9. iOS开发-自动布局和自动旋转

    今天学习自动布局中的自动调整尺寸大小. 一.尺寸分类 尺寸分类是对设备宽高的一种大致分类. 有两种具体的尺寸分类用来表示真机:紧凑(Compact)和标准(Regular).还有第三种分类可以在设计工 ...

  10. python(6)

    python(6) 6.1 面向对象编程:OOP相信学过编程的就会了解它有多重要了.当然c什么的就算了 实际上面向对象就是把对象拥有的数据和方法封装在对象里面,由对象调用.    面向对象最重要的是类 ...