使用SQL Server 2005的T-SQL在服务器端进行分页是用到的SQL语句。
1、
select *
from ssp_soi
where ssp_soi_id in (
select ssp_soi_id
from (
select ssp_soi_id,
ROW_NUMBER() OVER(ORDER BY ssp_soi_id) as nid
from ssp_soi
) as tid
where nid between 21 and 50
)
2、
SELECT *
FROM (
select *,ROW_NUMBER() Over(order by ssp_soi_id) as rowNum
from ssp_soi )
as myTable
where rowNum between 21 and 50
3、
WITH OrderedOrders AS
(SELECT *,
ROW_NUMBER() OVER (order by ssp_soi_id)as RowNumber
FROM ssp_soi )
SELECT *
FROM OrderedOrders
WHERE RowNumber between 21 and 50
而在ORACLE中的分页语句也类似
1、
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM s_command) A
WHERE ROWNUM <= 10
)
WHERE RN >= 1
2、
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM s_command) A
)
WHERE RN BETWEEN 1 AND 10
而按效率来考虑,上述的第一种方法的效率要比第二种高很多。
这是由于CBO优化模式下,Oracle可以将外层的查询条件推
到内层查询中,以提高内层查询的执行效率。对于第一个查询语句,第二层的查询条件WHERE ROWNUM <=
40就可以被Oracle推入到内层查询中,这样Oracle查询的结果一旦超过了ROWNUM限制条件,就终止查询将结果返回了。
而第二个查询语句,由于查询条件BETWEEN 21 AND
40是存在于查询的第三层,而Oracle无法将第三层的查询条件推到最内层(即使推到最内层也没有意义,因为最内层查询不知道RN代表什么)。因此,对
于第二个查询语句,Oracle最内层返回给中间层的是所有满足条件的数据,而中间层返回给最外层的也是所有数据。数据的过滤在最外层完成,显然这个效率
要比第一个查询低得多。
同时,Oracle也支持ROW_NUMBER() OVER (partition by 字段 order by 字段
),如下:
WITH TMS_e_user AS (
SELECT ROW_NUMBER() over (ORDER BY euse_id) ROWNO, e_user.* FROM e_user WHERE 1=1)
SELECT * FROM TMS_e_user WHERE ROWNO BETWEEN 1 AND 5
MySQL则比较简单
1、
SELECT * FROM bus_register LIMIT 1, 5
分享到:
相关推荐
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
在SQL Server 2005中,分页查询是一个常见的需求,特别是在处理大量数据时,为了提高用户体验,通常需要一次性加载一定数量的数据,而不是一次性显示所有数据。以下将详细讲解SQL Server 2005中分页查询的常用方法。...
一个非常好的sql2005分页函数,简单实用,希望对你有所帮助
mybatis中,sqlserver分页
SQL server2008中通用分页存储过程,表名,每页长度,页码都是动态赋值。
**Struts、Hibernate和SQL Server 2005 分页小项目详解** 在软件开发中,尤其是Web应用,数据分页是一项重要的功能,它能够帮助用户有效地浏览大量数据,提高用户体验。本项目以"Struts+Hibernate+SQL Server 2005...
通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.
SQL Server 2005微软官方权威参考书. 公球公认SQL Server 2005 经典著作.. 数据库“铁人”、微软MVP胡百敬先生鼎力推荐 微软SQL Server 总部Principal Group 项目经理朱凌志鼎力推荐 本书详细介绍了数据...
sqlserver分页查询语句;sqlserver分页查询语句;sqlserver分页查询语句;
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String username = "myUsername"; String password = "myPassword"; try { Class.forName(...
3. **SQL Server分页查询** - `TOP`子句:在SQL Server中,可以使用`TOP`子句配合`ORDER BY`来实现分页。例如,获取第一页的数据,可以写成`SELECT TOP pageSize * FROM table ORDER BY sortField DESC`。 - `...
综上所述,`Hibernate+sqlserver2000分页`是一个结合了ORM框架和数据库分页策略的技术主题。在实际应用中,开发者需要根据业务需求选择合适的分页方法,并注意性能优化,如避免全表扫描,使用索引来加速查询等。理解...
本教程将深入探讨如何在VC++(Microsoft Visual C++)环境中,结合SQL Server 2005数据库,实现高效的分页查询功能。这有助于提高用户体验,减少网络负载,同时确保数据的有序、稳定显示。 首先,理解分页的概念。...
asp+sqlserver2005万能分页存储过程源码 sqlserver2005源码下载,很灵活的
根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...
### SQL Server 2005 分页显示存储过程 #### 背景介绍 在数据库应用开发中,分页查询是非常常见的需求之一。对于大型数据集来说,如果一次性加载所有数据到前端展示,不仅会增加服务器负担,还会影响用户体验。因此...
本资源"SQLServer分页.rar"包含了一个名为"SQL分页.txt"的文件,里面详细讲解了SQL Server中的分页实现方法。 首先,我们来理解SQL Server分页的基本概念。分页通常涉及到两个关键参数:`OFFSET`和`FETCH NEXT`。`...
本教程将详细讲解如何在Java中实现不分框架的分页查询,同时涵盖对MySQL和SQL Server数据库的支持。 一、基础知识 1. 分页概念:分页是将大量数据按一定数量分成若干部分,每次只加载一部分到内存中显示,用户可以...
在SQL Server数据库中,分页是一种常见的数据检索技术,它允许我们从大量数据中按需获取一部分结果,而不是一次性加载所有记录。这在处理大型数据集时尤其有用,可以提高性能,减少网络传输,以及提供更好的用户体验...
在后端,我们需要处理分页请求,生成对应的SQL Server分页查询语句,并返回结果。这里假设使用Java的Servlet或Spring MVC来处理请求。 1. SQL Server分页语句: SQL Server提供了多种方式实现分页,比如`ROW_NUMBER...