`
sakakokiya
  • 浏览: 507384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

说一下mysql, oracle等常见数据库的分页实现方案?

阅读更多
1.Oracle:
select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum =< max) where rownum_ >= min
2.SQL Server:
select top @pagesize * from tablename where id not in (select top @pagesize*(@page-1) id from tablename order by id) order by id
3.MySQL
select * from tablename limit position, counter
4.DB2
select * from (select *,rownumber() as ROW_NEXT from tablename) where ROW_NEXT between min and max
——————————————————————————————-
1.分页方案一:(利用Not In和SELECT TOP分页)效率次之
语句形式:
SELECT TOP 10 * FROM TestTable
WHERE(ID NOT IN (SELECT TOP 20  id FROM  TestTable  ORDERBY  id))   ORDERBYID
SELECT  TOP 页大小 * FROM TestTable
WHERE( ID NOT IN (SELECT  TOP  每页大小-1*待查询页数-1  id  FROM  表 ORDERBY  id)) ORDERBYID
思路:先查询出待查询页之前的全部条数的id,查询ID不在这些ID中的指定数量条数
2.分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高
语句形式:
SELECT  TOP  10 *   FROM  TestTable
WHERE(ID>(SELECT MAX(id) FROM(SELECT TOP20 id  FROM  TestTable ORDERBYid)AS T))ORDERBY ID
SELECT  TOP  页大小* FROM  TestTable
WHERE(ID>(SELECT MAX(id) FROM(SELECT TOP 每页大小*待查询页数-1  id FROM 表  ORDERBY id)AS T)) ORDERBY ID
思路:先获得待查询页的之前全部条数id,获得它们当中最大的ID号,以此最大ID号为标志,查找比这个ID号大的指定条数
3.分页方案三:
SELECT TOP PageSize * FROM(SELECT TOP nPage*PageSize * from YOURTABLE order by id)as a order by id desc
SELECT TOP 每页条数 * FROM (SELECT TOP 待查询页*每页条数) * from YOURTABLE order by id)as a order by id desc
思路:先正排序查询出待查询页之前(包括当前页)的全部条数,然后将其倒排序,取指定条数
分享到:
评论

相关推荐

    oracle、mysql数据库分页

    #### 一、Oracle数据库分页 在Oracle数据库中,实现分页查询可以通过多种方法,其中一种常见的方法是使用`ROWNUM`伪列来实现。 **基本原理:** - `ROWNUM`用于标识查询结果集中的行编号。 - `ROWNUM`在查询时自动...

    mysql, oracle等常见数据库的分页实现方案

    1.Oracle:  select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum == min  2.SQL Server:  select top @pagesize * from tablename where id not in (select top @pagesize*...

    oracle、mysql数据库分页.pdf

    1. Oracle数据库分页: Oracle使用`ROWNUM`伪列进行分页。基本思路是先通过子查询获取所有满足条件的行,并为其分配行号(ROWNUM),然后在外层查询中根据需要的页码筛选出特定范围的行。例如,如果要获取第`min`行...

    oracle、mysql数据库分页借鉴.pdf

    1. Oracle数据库分页: Oracle采用的是ROWNUM伪列,通过嵌套查询来实现分页。以下是一个示例: ```sql select * from ( select rownum as rownum_, t.* from ( select * from your_table query_condition ...

    java中mysql和oracle数据库通用分页功能实现完整Demo

    开发环境:SpringBoot+SSM,同样适合SpringBoot,具备一定Maven项目基础初学者,详细说明地址http://blog.csdn.net/fjekin/article/details/75541573

    mysql分页,oracle分页,sql server三种数据库实现分页

    mysql,oracle,sql server分页总结与比较

    oracle、mysql数据库分页参照.pdf

    数据库分页是数据库管理系统中一个常见的功能,用于在大量数据中高效地检索并展示一部分结果,通常用于网页或应用的滚动加载。以下是针对Oracle、MySQL、SQL Server和DB2这四种常见数据库系统的分页实现方案的详细...

    几条常见的数据库分页SQL 语句

    几条常见的数据库分页SQL 语句,针对oracle,sqlserver,mysql三种常见数据库的分页显示。

    sqlserver,mysql,oracle三种数据库的分页查询

    总结来说,SQL Server、MySQL和Oracle都提供了分页查询的能力,但实现方式有所不同。SQL Server使用TOP和OFFSET,MySQL依赖LIMIT和可能的子查询,而Oracle则利用ROWNUM。在实际应用中,需要根据数据库类型和数据量...

    用于oracle,mysql,sqlserver,数据库分页联合查询

    总的来说,分页查询是数据库操作中的常见需求,而如何高效、正确地实现这一功能则需要对各种数据库系统的特点有深入理解。`Page.java`这样的类是将这种数据库操作封装为可复用代码的一个实例,方便在项目中广泛使用...

    oracle mysql sql server 等数据库的分页要点解析

    **常见数据库分页语句** 1. **Oracle分页** Oracle使用`ROWNUM`伪列进行分页,示例如下: ```sql select * from ( select t.*, rownum k from emp t WHERE 条件 ) WHERE k &gt; (页码 - 1) * pageSize AND k 页码 * ...

    各数据库分页语法支持

    #### Oracle 数据库分页 Oracle 支持多种分页方式,包括三层嵌套分页、ROW_NUMBER() 函数分页及 ROWNUM 控制最大条数的方法。 1. **三层嵌套分页**: ```sql SELECT * FROM ( SELECT row_.*, ROWNUM as rownum ...

    mysql、sqlserver、oracle分页,java分页统一接口实现

    MySQL、SQL Server、Oracle 分页是关系数据库管理系统中最基本也是最常用的操作之一,而 Java 分页统一接口实现则是对数据库操作的抽象和封装。本文将对 MySQL、SQL Server、Oracle 分页的实现进行详细的介绍,并...

    mySql与oracle分页技术

    总的来说,MySQL和Oracle都提供了有效的分页解决方案,但它们的实现方式有所不同。在设计数据库查询时,需要考虑到数据量、性能和数据库系统的特性,选择最适合的分页策略。对于大型数据集,优化分页查询是非常关键...

    数据库分页大全及示例

    本篇文章将详细介绍如何在不同的数据库系统中实现分页,包括JAVA、JSP环境下的数据库分页实现,以及Oracle、SQL Server、MySQL、DB2等数据库的分页查询方法。 在Java和JSP中,分页通常涉及到后端服务器和前端页面的...

    mysql转换到oracle数据库

    ### MySQL到Oracle数据库转换的关键知识点 #### 一、MySQL到Oracle数据库转换的总体流程 **1. 分表结构及表数据两次导出** - **原因**:由于MySQL与Oracle数据库之间的语法差异较大,一次性导出后直接进行转换...

    Oracle,SQl,MySql实现分页查询

    ### Oracle、SQL、MySQL 实现分页查询方法详解 在数据库操作中,分页查询是一项非常重要的技术,尤其是在处理大量数据时。本文将基于提供的文件信息,深入探讨三种不同的分页查询方法及其在Oracle、SQL Server...

    Oracle,mysql,sqlserver等各种数据库的分页方法

    本文将详细介绍Oracle、MySQL、SQL Server等常见数据库系统的分页方法。 ### MySQL分页方法 #### 1. 使用`LIMIT`子句 MySQL提供了`LIMIT`子句来实现分页查询。该子句可以接受两个参数:第一个参数为起始行号...

Global site tag (gtag.js) - Google Analytics