------ row number ----------

------ row number ----------

declare @pageSize int,@pageIndex int
set @pageSize = 20;set @pageIndex = 2
select * from (
SELECT ROW_NUMBER() OVER(ORDER BY Byod_ZZFP.ID DESC) as rowID
,Byod_ZZFP.* from Byod_ZZFP where 1=1
)T
where (rowID > @pageSize * (@pageIndex - 1) and rowID <= @pageSize * (@pageIndex)) order by ID desc -- CTE表达式 --
declare @pageSize int,@pageIndex int
set @pageSize = 20;set @pageIndex = 2; with T as
(
SELECT ROW_NUMBER() OVER(ORDER BY Byod_ZZFP.ID DESC) as rowID
,Byod_ZZFP.* from Byod_ZZFP where 1=1
)
select * from T
where (rowID > @pageSize * (@pageIndex - 1) and rowID <= @pageSize * (@pageIndex)) order by ID desc

------ max/min ----------

CREATE PROC [dbo].[uspLGetSolutionList]
@pageSize INT, --页码大小
@pageIndex INT, --页码
@strWhere nvarchar(2000)='',
@totalRecordCount INT OUTPUT --总记录数 AS
DECLARE @strSql NVARCHAR(MAX) --sql语句
DECLARE @sqlcount INT --返回总记录
DECLARE @strSqlCount NVARCHAR(MAX) --sql语句1,总记录数语句
DECLARE @tempSql NVARCHAR(MAX) --查询字段
DECLARE @temTableOn NVARCHAR(2000) --表连接及表连接关系
DECLARE @order NVARCHAR(500) --排序 SET @tempSql = ' NetworkCutover.ID '
SET @temTableOn = ' NetworkCutover NetworkCutover
inner join Member Member on NetworkCutover.DutyMember = Member.MemberID
'
SET @strSql = ' ';
SET @order = ' ORDER BY NetworkCutover.ID desc '
IF(@pageIndex <= 1)
BEGIN
SET @strSql = 'SELECT TOP '+STR(@pageSize) + @tempSql +' FROM ' + @temTableOn + ' WHERE 1=1 ' + @strWhere + @order;
END
ELSE
BEGIN
SET @strSql = 'SELECT TOP '+STR(@pageSize)+@tempSql +' FROM '+@temTableOn +' WHERE NetworkCutover.ID < (SELECT MIN(T.ID) FROM (SELECT TOP '+STR(@pageSize*(@pageIndex-1))+' NetworkCutover.ID FROM '+@temTableOn+' WHERE 1=1 '+@strWhere +@order +') T)'+@strWhere+ @order
END
print @strSql
SET @strSqlCount='SELECT @sqlcount=COUNT(*) FROM '+@temTableOn+' WHERE 1=1 '+@strWhere
print @strSqlCount
EXEC SP_EXECUTESQL @strSqlCount,N'@sqlcount INT OUTPUT',@sqlcount OUTPUT
SET @totalRecordCount=@sqlcount
EXEC(@strSql) GO

小技巧:

可增加一个总记录数作为输入参数,查询条件不变的情况,总记录数不变(不再查询总记录数)。第一次查询输入参数为0需要查询总记录数。

最新文章

  1. icomoon图标的使用
  2. MySQL Cluster 7.3.5 集群配置实例(入门篇)
  3. iOS开发小技巧--即时通讯项目:消息发送框(UITextView)高度的变化; 以及UITextView光标复位的小技巧
  4. PHP高级——抽象类与接口的区别(转)
  5. UIScrollView循环滚动1
  6. SpringAOP所支持的AspectJ切点指示器
  7. 五个免费UML建模工具推荐
  8. C语言volatile关键字
  9. CSS制作hover下划线动画
  10. boost------bind的使用(Boost程序库完全开发指南)读书笔记
  11. apache2.2 虚拟主机配置详解
  12. 解决 setOnItemClickListener,setOnScrollListener与setOnTouchListener事件冲突问题
  13. 使用 Aspose.Cells 实现 excel导入
  14. svn问题(队列)
  15. Ext.grid.EditorGridPanel保存
  16. 重温java基础
  17. 使用Jmeter进行http接口测试(转载)
  18. Javascript的算法题目
  19. 全局eslint不生效的处理
  20. maven tomcat plugin 踩坑记

热门文章

  1. CodeForces 540
  2. windows pip安装 更新
  3. 【BO】安装BO服务器时,oracle服务端安装ora-12514和12541的问题
  4. codeforces泛做..
  5. CentOS利用inotify+rsync实现文件同步
  6. ZeroMQ接口函数之 :zmq_ctx_new – 创建一个新的ZMQ 环境上下文
  7. Junit测试 - Spring的配置
  8. css 温故而知新 slideDown/slideUp 新思路
  9. #20145205 《Java程序设计》第4周学习总结
  10. poj1131-Octal Fractions(进制转换)