在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,以下就是常用SQL分页处理:
1、SQL Server、Access数据库
这都微软的数据库,都是一家人,基本的操作都是差不多,常采用如下分页语句:
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select top PAGESIZE * from components where id not in
(select top (PAGESIZE*(CURRENTPAGE-1))
id from components order by id)order by id
如下列:
select top 10 * from components where id not in
(select top 10*10 id from components order by id)
order by id
从101条记录开始选择,只选择前面的10条记录
2、Oracle数据库
因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法:
(1)、一种是利用相反的。
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select * from components where id not
in(select id from components where
rownum<=(PAGESIZE*(CURRENTPAGE-1)))
and rownum<=PAGESIZE order by id;
如下例:
select * from components where id not in
(select id from components where rownum<=100)
and rownum<=10 order by id;
从101到记录开始选择,选择前面10条。
(2)、使用minus,即中文的意思就是减去。
select * from components where rownum
<=(PAGESIZE*(CURRENTPAGE-1)) minus
select * from components where rownum
<=(PAGESIZE*(CURRENTPAGE-2));
如例:select * from components where
rownum<=10 minus select * from components
where rownum<=5; .
(3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名]看到,注意,它是从1到当前的记录总数。
select * from (select rownum tid,components.
* from components where rownum<=100) where tid<=10;
3、MySQL数据库
My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:
SELECT * FROM 表名称 LIMIT M,N
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select * from sys_option limit 10,20
==========================附加的分割线=========================================
---1.oracle
SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM (...... ) row_ WHERE rownum <= ?) WHERE rownum_ > ?
先按查询条件查询出从0到页未的记录.然后再取出从页开始到页未的记录.(据说是效率最高的:))
---2. sql servler
i:select top [pagesize] * from table where id not in ( select top [pagesize*(currentpage-1)] id from table [查询条件] order by id ) and [查询条件] order by id
先按查询条件排除 pagesize*[pagesize*(currentpage-1)]以前的纪录。&&再按查询条件把他以后的记录 top[pagesize] 出来.
ii:
select top PageSize * from TableName where id > (select max(id) from (select top startRecord-1 id from TableName [查询条件] order by id) as TempTable) [查询条件] order by id
先取得开始该页开始时的最大ID,然后再从最大ID出top[pagesize]
(听说记录组超过10万第二条好过第一条)
---3.mysql
select * from table [查询条件] order by id limit ?,?
这个都不用说了。
分享到:
相关推荐
本文将详细介绍如何在三种主流数据库系统——SQL Server、Access 和 Oracle 中利用 SQL 语句实现高效分页。 1. SQL Server 和 Access 数据库 在 SQL Server 和 Access 这两个微软数据库中,可以使用 `TOP` 关键字...
几条常见的数据库分页SQL 语句,针对oracle,sqlserver,mysql三种常见数据库的分页显示。
本文将详细介绍三种主流数据库(SQL Server、MySQL和Oracle)中的分页SQL语句实现方法。 #### SQL Server 的分页SQL语句实现 SQL Server 支持通过`TOP`关键字来实现分页查询。具体实现方式如下: 1. **查询第M页...
例如,在SQL Server中,获取第10页,每页显示10条记录的真分页SQL语句可能如下: ```sql SELECT * FROM ( SELECT *, ROW_NUMBER() OVER(ORDER BY SomeColumn) AS RowNum FROM YourTable ) AS TmpTable WHERE...
### DB2数据库SQL语句大全 #### 1. 强制关闭所有应用程序 ```sql db2forceapplicationall ``` 此命令用于强制关闭所有正在运行的应用程序,确保在进行维护操作之前所有的应用程序都已关闭。 #### 2. 在线备份...
数据库分页 SQL 语句 在数据库开发中,分页技术是一种非常重要的技术,主要用于限制数据库查询结果的条目数,以提高查询效率和减少数据传输量。在不同的数据库管理系统中,分页技术的实现方法各有不同。下面我们将...
数据库分页是数据库管理系统中非常常见的一种操作,主要用于在大量数据中进行高效的浏览,提高用户体验。在不同的数据库系统中,实现分页查询的SQL语句会有所不同。以下将详细介绍SQL Server、Oracle、MySQL以及DB2...
本篇文章将深入探讨Oracle、MySQL和SQL Server这三大主流数据库系统的分页查询语句。 1. **Oracle数据库** Oracle数据库提供`ROWNUM`关键字进行分页。`ROWNUM`为每行分配一个唯一的数字,从1开始。例如,要获取第1...
在SQL Server数据库中,分页查询是一个非常重要的功能,它允许我们从大量数据中只获取一部分,例如,每次只返回一页的数据,以提高查询效率和用户体验。本篇将深入探讨SQL Server实现分页查询的语句及其工作原理。 ...
在这个"java操作mysql数据库,不写sql语句版"的主题中,我们将探讨如何利用这些工具来实现这一目标。 1. Hibernate:这是一个强大的Java ORM框架,它允许我们通过Java对象模型与数据库进行交互,而无需编写SQL。...
这里我们将深入探讨如何在SQL Server中使用语句进行分页,以及如何结合Oracle数据库和JSP技术实现这一功能。 首先,让我们关注SQL Server的分页操作。在SQL Server中,有两种主要的方法实现分页:TOP-N查询和ROW_...
以下是对SQL Server、Oracle和MySQL这三种常用数据库系统的分页查询语句的详细解释。 **SQL Server** 在SQL Server中,分页查询通常涉及`TOP`关键字配合子查询和`ORDER BY`来实现。一个通用的分页查询模板如下: `...
关于SQL Server SQL语句查询分页数据的解决方案 在日常工作中,我们经常需要处理大量数据,并从中获取特定页面的数据。特别是在Web应用开发中,为了提高用户体验,通常会将数据进行分页显示。针对这一需求,本文将...
其中,如何使用标准的SQL语句实现查询记录分页,是数据库操作中一个常见且实用的需求。分页查询不仅能够提高数据检索的效率,还能优化用户体验,尤其是在处理大量数据时显得尤为重要。下面,我们将详细解析几种实现...
在IT行业中,数据库连接、SQL语句执行以及表查询是至关重要的操作,尤其在软件开发和数据分析领域。这里我们将深入探讨这些概念,并结合"插件开发"、"sql"、"rcp"(Rich Client Platform)和"表查询"、"数据库连接...
本文主要讨论如何利用标准的SQL语句来实现查询记录的分页。 首先,我们需要明白分页的基本原理。通常,分页涉及两个关键参数:当前页码和每页显示的记录数。例如,若要获取第10到20条记录,当前页码为2(因为第一页...
本文总结了 SQL SERVER 数据库中的一些实用 SQL 语句,涵盖了排序、分页、获取当前数据库信息、查询某一个表的字段和数据类型、事务处理、全文匹配查询、计算执行 SQL 语句查询时间等方面。 一、排序 在 SQL ...
数据库性能调优是IT领域中的一个关键环节,尤其是在大数据量和高并发的业务场景下,优化SQL语句显得尤为重要。本篇文章将详细讲解在数据库性能优化过程中常用的SQL语句及其应用,帮助你提升数据库的运行效率。 首先...
不同的数据库系统提供了不同的分页机制,本文将详细介绍几种常见数据库(Oracle、DB2、SQL Server、PostgreSQL)的分页语法支持,并给出具体的示例。 #### Oracle 数据库分页 Oracle 支持多种分页方式,包括三层...