SQL TOP分页法
原理:
PageSize, PageIndex;
升序 order by a asc
a的 值 大于, 上一页数据 最大的 a值。
降序 order by a desc
a的 值 小于, 上一页数据 最小的 a值。
代码实例
USE [SZSQ]
GO
/****** Object: StoredProcedure [dbo].[dnt_gettopiclistbytypedatecph] Script Date: 09/12/2014 15:18:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter PROCEDURE [dbo].[dnt_PageSplb]
@pagesize int,
@pageindex int,
@startnum int,
@condition varchar(1000),
@orderby varchar(100),
@ascdesc int
AS
DECLARE @strsql varchar(5000)
DECLARE @sorttype varchar(5)
IF @ascdesc=0
SET @sorttype='ASC'
ELSE
SET @sorttype='DESC'
IF @pageindex = 1
BEGIN
SET @strsql = 'SELECT TOP ' + STR(@pagesize) +' [sid],[sname],[sauthor],[sdate],[simg],[slink],[spjs],[slbdl],[slbps],[slbgjw],[slbql],[slbjs],[sbfcs],[splcs],[szdcs],[scdcs],[ssfsx]
from [dnt_splb] where [ssfsx]=1'+@condition+' ORDER BY '+@orderby+' '+@sorttype
END
ELSE
IF @sorttype='DESC'
BEGIN
SET @strSQL = 'SELECT TOP ' + STR(@pagesize) +' [sid],[sname],[sauthor],[sdate],[simg],[slink],[spjs],[slbdl],[slbps],[slbgjw],[slbql],[slbjs],[sbfcs],[splcs],[szdcs],[scdcs],[ssfsx]
FROM [dnt_splb]
WHERE dnt_splb.['+@orderby+'] < (SELECT min(tblTmp.['+@orderby+']) FROM (SELECT TOP ' + STR((@pageindex-1)*@pagesize-@startnum) + ' [dnt_splb].['+@orderby+'] FROM [dnt_splb] WHERE [ssfsx]=1'+@condition+' ORDER BY [dnt_splb].'+@orderby+' '+@sorttype+')AS tblTmp )
AND [ssfsx]=1
ORDER BY [dnt_splb].'+@orderby+' '+@sorttype
END
ELSE
BEGIN
SET @strSQL = 'SELECT TOP ' + STR(@pagesize) +' [sid],[sname],[sauthor],[sdate],[simg],[slink],[spjs],[slbdl],[slbps],[slbgjw],[slbql],[slbjs],[sbfcs],[splcs],[szdcs],[scdcs],[ssfsx]
FROM [dnt_splb]
WHERE dnt_splb.['+@orderby+'] > (SELECT min(tblTmp.['+@orderby+']) FROM (SELECT TOP ' + STR((@pageindex-1)*@pagesize-@startnum) + ' [dnt_splb].['+@orderby+'] FROM [dnt_splb] WHERE [ssfsx]=1'+@condition+' ORDER BY [dnt_splb].'+@orderby+' '+@sorttype+')AS tblTmp )
AND [ssfsx]=1
ORDER BY [dnt_splb].'+@orderby+' '+@sorttype
END
print @strSQL
EXEC(@strsql)
SQL TOP分页法的更多相关文章
- SQL TOP分页
SQL TOP分页 2010-11-12 16:35:29| 分类: SQL | 标签: |字号大中小 订阅 1.分页方案一:(利用Not In和SELECT TOP分页) 语句形式: ...
- Jsp页面,结果集分页和sql(top)分页的性能对比
jsp页面两种分页模式: 第一种: 结果集分页,主要代码见下面: ResultSet rs=stmt.executeQuery(sql); ResultSetMetaData md=rs.getMet ...
- SQL语句 分页实现
1 通过sql实现分页. select top 5 * from judgeorder where id not in (select top 10 id from judgeorder order ...
- SQL 数据分页查询
最近学习了一下SQL的分页查询,总结了以下几种方法. 首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图: 现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据.(数据太少,就每页5 ...
- sql语句分页多种方式ROW_NUMBER()OVER
sql语句分页多种方式ROW_NUMBER()OVER 摘自: http://www.cnblogs.com/CodingArt/articles/1692468.html 方式一 select to ...
- 3种SQL语句分页写法
在开发中经常会使用到数据分页查询,一般的分页可以直接用SQL语句分页,当然也可以把分页写在存储过程里,下面是三种比较常用的SQL语句分页方法,下面以每页5条数据,查询第3页为例子: 第一种:使用not ...
- SQL Server 分页语句
表中主键必须为标识列,[ID] int IDENTITY (1,1) 1.分页方案一:(利用Not In和SELECT TOP分页) SELECT TOP 页大小 * FROM TestTable ...
- Oracle/MySql/SQL Sqlserver分页查询
简述 简单概括一下Oracle,MySql,SQL Sqlserver这三个数据库的分页查询语句. Oracle分页查询 例:每页显示两条数据,现在要查询第二页,也就是第3-4条数据. 查询语句: s ...
- 解决hibernate对Sql Server分页慢的问题
一.hibernate分页 hibernate对MsSql的伪分页 分页是web项目中比不可少的一个功能,数据量大的时候不能全部展示必然要用到分页技术.相信大家对hibernate中的分页都不陌生: ...
随机推荐
- GZipStream
命名空间: System.IO.Compression 说明: 此类表示 GZip 数据格式,它使用无损压缩和解压缩文件的行业标准算法.这种格式包括一个检测数据损坏的循环冗余校验值.GZip 数据格式 ...
- .NET中的枚举用法浅析
本文简单分析了.NET中的枚举用法.分享给大家供大家参考.具体分析如下: 我理解的枚举就是编程中约定的一个“可选值”:例如QQ的在线状态,分别有 在线,Q我吧,隐身,忙碌等等...我觉得这就是一 ...
- oralce函数
1.trunc函数处理数字和日期TRUNC(NUMBER[,DECIMAL]) 数字格式TRUNC(DATE[,FOMAT]) 日期格式2.round函数(四舍五入)ROUND(NUMBER[,DEC ...
- 8、手把手教React Native实战之ReactJS组件生命周期
1.创建阶段 getDefaultProps:处理props的默认值 在React.createClass调用 2.实例化阶段 React.render(<HelloMessage 启动之后 g ...
- java字符串、时间大小比较
package mytest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util ...
- iOS-数组,字典常用的字面量写法
解决方法: //用字面量创建数组 NSArray *array = @[@"one",@"two"]; //用字面量创建字典 NSDictionary *dic ...
- JZOJ.5236【NOIP2017模拟8.7】利普希茨
Description
- Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
需要注意的是ComponentScan 不能扫描 org.springframework 否则会报错,要扫描指定的package才行
- Powershell Get File/Disk Size
知识点: 1.获取路径中的文件夹:Get-ChildItem $startFolder | Where-Object {$_.PSIsContainer -eq $True} | Sort-Obje ...
- jquery实现滚动到页面底部时无限加载内容的代码
var p="{$other.p}"; if(p=="") p=1; var stop=true;//触发开关,防止多次调用事件 $(window).scrol ...