`
lucene3212
  • 浏览: 132592 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

SQL SERVER 2008 中分页方法集锦

阅读更多

    <span style="font-size: small">1.有标识列時的方案: <br />--1.利用Not In和SELECT TOP分页 <br />语句形式:&nbsp;&nbsp; <br />SELECT TOP 10 * <br />FROM TestTable <br />WHERE (ID NOT IN <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SELECT TOP 20 id <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM TestTable <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORDER BY id)) <br />ORDER BY ID <br /> <br /> <br />SELECT TOP 页大小 * <br />FROM TestTable <br />WHERE (ID NOT IN <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SELECT TOP 页大小*(页数-1) id <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM 表 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORDER BY id)) <br />ORDER BY ID <br />--2.利用ID大于多少和SELECT TOP分页 <br />语句形式: <br />SELECT TOP 10 * <br />FROM TestTable <br />WHERE (ID &gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SELECT MAX(id) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM (SELECT TOP 20 id <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM TestTable <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORDER BY id) AS T)) <br />ORDER BY ID <br /> <br /> <br />SELECT TOP 页大小 * <br />FROM TestTable <br />WHERE (ID &gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SELECT MAX(id) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM (SELECT TOP 页大小*(页数-1) id <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM 表 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORDER BY id) AS T)) <br />ORDER BY ID <br />--3.比較當前頁主鍵大小 <br />使用:不能指定分頁.只適用於 首頁,上一頁,下一頁,末頁. <br />首页: <br />select top 页大小 * from 表名 order by 主键 <br />下一頁: <br />select top 页大小 * from 表名 where 主键 &gt; 上一页末记录的主键 order by 主键 <br />上一頁: <br />select top 页大小 * from 表名 where 主键 &gt; 上一页首记录的主键 order by 主键 desc <br />末頁: <br />select top 页大小 * from 表名 order by 主键 desc <br /> <br />2.無標識列時的方案,同時也適用於有標識列時的情況. <br />--1.利用SQL的游标存储过程分页 <br />create procedure SqlPager <br />@sqlstr nvarchar(4000), --查询字符串 <br />@currentpage int, --第N页 <br />@pagesize int --每页行数 <br />as <br />set nocount on <br />declare @P1 int, --P1是游标的id <br />@rowcount int <br />exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1, @rowcount=@rowcount output <br />select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页 <br />set @currentpage=(@currentpage-1)*@pagesize+1 <br />exec sp_cursorfetch @P1,16,@currentpage,@pagesize <br />exec sp_cursorclose @P1 <br />set nocount off <br /> <br />--2.用临时表. <br />select top 10 * into #tmp from categories <br />select * from #tmp <br /> <br />3.SQL2005中的新的排序方法 <br />SELECT * <br />FROM <br />( <br />SELECT *,ROW_NUMBER() OVER (ORDER BY ItemID) AS RowNo <br />FROM Portal_Discussion <br />) AS A <br />WHERE RowNo&gt;=1 and RowNo&lt;=10</span>
 
分享到:
评论
1 楼 GZQ0821 2012-02-01  
为啥不编译后贴出来呢!

相关推荐

    SQL中分页解决方案

    SQL中分页解决方案 涉及主流的DB Oracle、SQL Server、Mysql

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    ASP.NET 2.0+SQL Server 2005全程指南 目录 基础篇 第1章 ASP.NET概述及环境配置 1.1 认识ASRNET 1.1.1 .NET Framework框架 1.1.2 ASP.NET功能与特性 1.1.3 ASP.NET与ASP的区别 1.2 搭建ASP.NET开发环境 1.2.1...

    一指通指纹考勤系统

    2、把Database目录下的FPCManagerBackup.dat文件(SQLServer7.0的备份文件)恢复到SQLServer中 如果是SQLServer2000, 可以采用执行FPCManager.sql的方式。 具体怎么恢复数据库 和 执行SQL语句不需要我教了吧, ...

    AspNetPage

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager7.2 分页控件及Demo源码

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager组件,企业级百万数据分页

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager7.0分页控件源码 内附使用文档

    AspNetPager针对.NET分页控件的不足,提出了与众不同的解决.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现分页导航...

    AspNetPager.dll

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

    AspNetPager控件及Demo源码.7z

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决Asp.Net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager 分页控件

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager741Src最新源码

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager分页控件

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    Asp.net分页控件AspNetPager7.2

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    .NET 通用分页控件

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager示例源码学习 7.2

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

    分页控件AspNetPager7.2c#源码

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager7.2分页控件及Demo源码

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

    AspNetPager控件及Demo源码 v7.4.4.zip

    AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...

Global site tag (gtag.js) - Google Analytics