sql server使用ROW_NUMBER分页
ALTER PROC usp_GetPageList ( @tableName VARCHAR(20) , @selectColunms VARCHAR(1000) , @sortColumn VARCHAR(50) , @sortType VARCHAR(4) , @pageIndex INT , @pageSize INT ) AS BEGIN DECLARE @sql NVARCHAR(4000) SET @sql = ' SELECT * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY '+ @sortColumn +' '+ @sortType +' ) AS orderIndex , ' + @selectColunms + ' FROM ' + @...
ROW_NUMBER分页
--提取分页数据,返回总记录数 create procedure Proc_GetDataPaging_ReturnDataCount ( @SqlString varchar(6000), --查询语句 @PageNumber int, --当前的页码 @PageSize int, --每页显示的数据量 @SequenceField varchar(100), --排序字段 @DataCount int out --总数据量 ) as begin --提取总记录数 declare @Sql nvarchar(2000) set @Sql = N'select @countNum = count(1) from ('+ @SqlString+') as a' exec sp_executesql @Sql,N'@countNum int out',@DataCount out declare @BNum int declare ...
ROW_NUMBER()函数用法示例
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。 示例: xlh row_num 1700 1 1500 2 1085 3 710 4 row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组...