因为数据量过大,如果一次性查询会耗用大量时间以及性能,因此对数据进行分页显示变得尤为重要,以下就列出一些常用数据库的sql分页实现。
1.MySQL实现分页
MySQL实现分页效果比较简单,只有一个limit关键字就可以解决。
示例:SELECT username,password FROM tb_user WHERE id = 1 LIMIT 100,10;
具体:select * from tableName where 条件 limit 当前页码*页面容量-1,页面容量
2.Oralce实现分页
SELECT *
FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM tableName order by id) A WHERE ROWNUM <=20)
WHERE RN >= 11;
select count(*) from tableName where 条件
3.Sqlserver实现分页
sqlserver由于版本的不同,分页的实现方式也各不相同。
SQL 2000 用临时表解决,通过在临时表中增加自增列解决RowNumber。
DECLARE @Start INT
DECLARE @End INT
SELECT @Start = 14000,@End = 14050
CREATE TABLE #employees (RowNumber INT IDENTITY(1,1),
LastName VARCHAR(100),FirstName VARCHAR(100),
EmailAddress VARCHAR(100))
INSERT INTO #employees (LastName, FirstName, EmailAddress)
SELECT LastName, FirstName, EmailAddress
FROM Employee
ORDER BY LastName, FirstName, EmailAddress
SELECT LastName, FirstName, EmailAddress
FROM #employees
WHERE RowNumber > @Start AND RowNumber <= @End
DROP TABLE #employees
GO
SQL 2005/2008 由于支持了Row_Number于是通过派生表的方式解决(两个嵌套)
DECLARE @Start INT
DECLARE @End INT
SELECT @Start = 14000,@End = 14050
SELECT LastName, FirstName, EmailAddress
FROM (SELECT LastName, FirstName, EmailAddress,
ROW_NUMBER() OVER (ORDER BY LastName, FirstName, EmailAddress) AS RowNumber
FROM Employee) EmployeePage
WHERE RowNumber > @Start AND RowNumber <= @End
ORDER BY LastName, FirstName, EmailAddress
GO
SQL 2005/2008 或者用CTE的方式实现,和派生表一样,就是好看点,执行计划都一样。
DECLARE @Start INT
DECLARE @End INT
SELECT @Start = 14000,@End = 14050;
WITH EmployeePage AS
(SELECT LastName, FirstName, EmailAddress,
ROW_NUMBER() OVER (ORDER BY LastName, FirstName, EmailAddress) AS RowNumber
FROM Employee)
SELECT LastName, FirstName, EmailAddress
FROM EmployeePage
WHERE RowNumber > @Start AND RowNumber <= @End
ORDER BY LastName, FirstName, EmailAddress
GO
SQL SERVER 2012 比较给力支持了OFFSET,于是一个Select结束战斗,另外在2012里,如果前面加上TOP(50),那么执行计划就会少读很多行数据(读的精准了),提高性能。
SELECT top(50) LastName, FirstName, EmailAddress
FROM Employee
ORDER BY LastName, FirstName, EmailAddress
OFFSET 14000 ROWS
FETCH NEXT 50 ROWS ONLY;
4.DB2实现分页
Db2实现分页与SQL Server类似, 但是可以不对资料排序(起始位置从1开始)
对资料排序
select * from (
select t.*, ROW_NUMBER() OVER(ORDER BY CARD_ID asc) AS ROWNUM from CARD t ) a
where ROWNUM > 20 and ROWNUM <=30
不对资料排序
select * from (
select t.*, ROW_NUMBER() OVER() AS ROWNUM from CARD t ) a
where ROWNUM > 20 and ROWNUM <=30
以上为各种常见数据库分页语句,留存备用。
分享到:
相关推荐
以下是对分页实现的详细说明: 一、基础概念 分页是将数据库查询结果分割成多个页面,每次请求只返回一部分数据,而不是一次性返回所有数据。这在Web应用中尤其常见,如搜索引擎、电商网站等,用户通常会通过点击...
本教程将深入探讨如何在Qt应用中实现SQLite数据库的数据分页显示。 首先,我们需要在Qt项目中集成SQLite数据库支持。在Qt Creator中,新建一个Qt Widgets Application项目,然后在.pro文件中添加`QT += sql`来启用...
在IT行业中,数据库分页是一种常见的数据检索策略,特别是在处理大量数据时,它能有效地提高应用性能并优化用户体验。Oracle(ORCL)数据库是企业级广泛使用的数据库管理系统,提供了强大的分页功能。本文将深入探讨...
不同的数据库系统提供了不同的分页机制,本文将详细介绍几种常见数据库(Oracle、DB2、SQL Server、PostgreSQL)的分页语法支持,并给出具体的示例。 #### Oracle 数据库分页 Oracle 支持多种分页方式,包括三层...
数据库分页是数据库管理系统中一个重要的查询技术,用于在大量数据中实现高效的检索。当用户在网页或应用程序中浏览数据时,通常不希望一次性加载所有记录,而是分页显示,这样可以减少网络传输的数据量,提高用户...
本篇文章将详细介绍如何在不同的数据库系统中实现分页,包括JAVA、JSP环境下的数据库分页实现,以及Oracle、SQL Server、MySQL、DB2等数据库的分页查询方法。 在Java和JSP中,分页通常涉及到后端服务器和前端页面的...
在ASP(Active Server Pages)与SQL Server的组合中,实现数据库分页显示是一项常见的任务,尤其是在构建大型数据驱动的Web应用程序时。分页能够有效地管理大量数据,避免一次性加载所有记录,提高页面加载速度,同时...
数据库分页显示是常见的数据处理技术,尤其在网页或应用程序中,当数据量较大时,为了提高用户体验和加载速度,通常会将数据分批显示,用户可以通过翻页来查看不同部分的数据。这样不仅可以避免一次性加载大量数据...
在IT行业中,数据库分页显示是一项常见的功能,尤其在网页应用和桌面软件中,用于处理大量数据时,分页能够有效提高用户体验,避免一次性加载过多数据导致系统性能下降。本示例是基于易语言(EasyLanguage)和MySQL...
3. `BasicService.java`: 基础服务类,可能包含了数据库操作的通用方法,如CRUD操作,但不包括具体的分页实现。 4. `Action.java.txt`: 这看起来像是一个ACTION类,通常在Java Web应用中用于处理用户请求,它可能...
以上就是 SQL Server、Oracle 和 MySQL 三种数据库中常见的分页查询方法。不同的数据库有不同的语法特点,但核心思想都是通过限制返回结果的数量来实现分页功能。开发者可以根据实际项目需求及所使用的数据库类型来...
在Java Web开发中,数据库分页是一种常见的技术,用于处理大量数据时提高应用程序的性能和用户体验。当数据集过大,一次性加载所有记录到用户界面可能导致内存压力和响应速度下降。因此,分页允许用户逐步浏览数据,...
#### 三、常见的数据库分页方法 1. **OFFSET/FETCH方法** - **SQL示例**: ```sql SELECT * FROM User_Info ORDER BY id OFFSET 6 ROWS FETCH NEXT 3 ROWS ONLY; ``` - **解释**:这个例子展示了如何使用`...
总结来说,本文详细介绍了PHP中实现数据库分页的基本原理及实现方法,并通过示例代码展示了具体的实现过程。同时,我们也讨论了`parse_url()`函数的应用场景以及`$_SERVER["REQUEST_URI"]`的使用方法。这些知识对于...
例如,一个简单的前端分页实现可能如下: ```html <!DOCTYPE html> <div id="movies-container"></div> <div id="pagination"></div> <script src="/js/admin/pagination.js"></script> // 假设我们...
本项目重点探讨了如何使用C#与数据库交互,并实现数据的分页展示,这在处理大量数据时非常关键,因为一次性加载所有数据可能会导致性能问题。下面将详细介绍这个过程中的关键知识点。 首先,我们需要连接到数据库。...
在这个“易语言一个简单的数据库分页例程”中,我们将探讨如何使用易语言来实现数据库数据的分页显示。 在数据库应用中,分页是常见的数据展示方式,它可以帮助用户更有效地浏览大量数据,避免一次性加载所有数据...
数据库分页显示是Web应用程序中常见的一种数据展示方式,它能有效地管理大量数据,提高用户界面的可操作性和响应速度。在本程序中,我们利用JSP(Java Server Pages)技术,结合MySql数据库,实现了客户端的分页功能...
数据库分页是Web开发中非常常见的一种技术,用于在大量数据中实现高效的浏览体验,避免一次性加载所有数据导致页面响应慢或内存消耗过大。这里提到的"一个通用的数据库分页类",很可能是PHP中设计的一个可复用的分页...