`

SQL Server 高效分页,没有比这更好的了!

阅读更多
-- @PageNo   : 第几页
-- @PageSize : 一页的记录数
-- 演示在表 dbo.HotTable 上进行分页的方法。其中 ID 为主键。

declare @PageNo   int
       ,@PageSize int

set @PageNo   = 1
set @PageSize = 10


if @PageNo = 1 begin
   select top(@PageSize) * from dbo.HotTable order by ID
end
else begin
   select top(@PageSize) *
     from dbo.HotTable
    where ID > (select max(ID)
                  from (select top (@PageNo * @PageSize) *
                          from dbo.HotTable
                         order by ID
                       ) T
               )
    order by ID
end
以上代码很简单,只是用于演示 SQL Server 分页的原理,你可以构造满足你需求的更复杂的分页存储过程。另外以上 SQL 分页代码在 SQL Server 2005 中运行通过。你可以修改下,用于 SQL Server 的其他版本。

分享到:
评论

相关推荐

    用SqlServer2005的新功能解决分页显示数据获取的问题

    sqlserver2005的select语句top子句可以跟参数,这样就很好的解决了分页的问题,通用的写法就是: select 【排序列】,【显示列1...N】 from TableName where 【排序列】 in select top (@PageNo*@PageSize) ...

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQL Server存储过程同时返回分页结果集和总数

     好长时间没摸数据库了,周末在家写了个报表的存储过程,一时间对使用存储过程实现分页的同时并计算出记录总数不知道怎么更好的去实现。按照我们正常的业务逻辑,存储过程数据首先是分页,其次接受若干查询条件,...

    Hibernate中的query 分页.doc

    不过不是每种数据库的都有这种分页支持的SQL,例如SQL Server就不支持。 4.scroll是利用JDBC2.0的功能做分页的,那么就完全取决于特定数据库的JDBC Driver的实现了。事实上大部分JDBC Driver都是把所有的结果集都...

    ImportSQL V1.4

    目前测试的最大数据量为67w条,智能分页查询,效率更高。 4. 支持自定义查询,并生成支持的文档格式 <br>5. 支持文本文件、CSV、SQL、XML <br>6. 可导出所有的视图或存储过程、用户函数、触发器、表、...

    sql2005全文检索.doc

    采用OLTP交易数据库和OLAP数据仓库(用于搜索和分析)分离的模式,OLTP作为OLAP的数据源通过SQL Server Integration Services (SSIS)定期导入到OLAP数据仓库环境中,OLAP采用星型结构以便于更好地满足搜索和将来的...

    经典全面的SQL语句大全

    这一操作可以通过好几种方式来完成,但是 SELECT 语句只显示一种可能(这里的ID 是自动生成的号码): SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9"  注意:以上...

    利用ASP实现Oracle数据记录的分页显示

    与Access或SQL server相比,Oracle数据库提供更好的安全性,并且在数据量极大的情况下性能占优,然而Oracle并不支持这些分页属性。本文将介绍一种利用 ASP实现对Oracle数据记录分页显示的方法,使得Oracle用户能够...

    jsp+servlet+javabean新闻发布系统计算机毕业设计源码

    注意:本系统采用jdbc:odbc方式连接的数据库,需要在运行前设置数据源,数据源的名称是xwfb,路径附加好的sqlserver数据库 测试管理员帐号和密码: admin 198517 测试用户帐号和密码: linjian 198517

    jsp+servlet+javabean新闻发布系统精品毕业设计

    注意:本系统采用jdbc:odbc方式连接的数据库,需要在运行前设置数据源,数据源的名称是xwfb,路径附加好的sqlserver数据库 测试管理员帐号和密码: admin 198517 测试用户帐号和密码: linjian 198517

    jspPageConteoller分页插件源码 V1.3

    1、支持当前最流行的数据库(如Mysql、SQLServer),支持Hibernate; 2、支持各种J2EE开发框架,开发者可通过对插件的理解,灵活的运用于各种开发模式中,如MVC、DAO等; 3、提供分页自定义标签,使分页操作更加简便...

    asp.net知识库

    在Framework1.0下同时连接SqlServer和Oracle的一些体会 XML XPath XPath最通俗的教程(ZZ) XPath中相对路径和绝对路径 XPath 简单语法 Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个...

    AspNetPager.dll

    如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、...

    c#操作数据库,史上最牛逼的方法,你见过这种方法吗?

    SqlLamdalf.FactoryAnna factorySql = new SqlLamdalf.FactoryAnna(AnnaType.SqlServer, "Persist Security Info=False;Integrated Security=SSPI;Database=数据库名称;Server=sql服务器名称"); //对需要的表的...

    Meta网站系统源码.rar

    1:将App_data目录下数据库附加到sqlserver,更改web.config中连接配置 2.u:admin p:admin,管理员登录,在后台中定制栏目,主题 3.在admin.config中配置后台map 4.界面文件在theme/default/modules.代码在Components...

    net2.0.rar_asp.net_asp.net 2.0_asp.net 菜单_简单的 网络系统_网站 后台

    1:将目录下数据库附加到sqlserver,更改web.config中拉连接配置 2.u:admin p:admin,管理员登录,在后台中定制栏目,主题 3.在admin.config中配置后台map 4.界面文件在theme/default/modules.代码在Components项目...

    AppFramework_V1.0_New

    代码生成器,ORMap,支持Oracle/SqlServer/MSAccess,性能大大优于iBatisNet,终身免费,随意使用。 =========== 软件说明: 1.1 引言 约有90%的企业信息化管理系统基于数据库实现,这类系统中又有超过...

    (3.0版本)自己写的struts2+hibernate+spring实例

    mysql和sqlserver不知道有没有start with这个sql. jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载...

    AppFramework数据库访问组件_代码生成插件_V1.1.rar

    内含代码生成器,支持Oracle/SqlServer/MSAccess,ORMap性能大大优于iBatisNet,终身免费无限制使用,绝无任何版权问题。 =========== 软件说明: 1.1 引言 约有90%的企业信息化管理系统基于数据库...

Global site tag (gtag.js) - Google Analytics