Sql分页

--方法一
select * from 表名  order by 排序字段
declare @pageSize int;
declare @pageIndex int;
set @pageSize=5;
set @pageIndex=1;
select top (@pageSize) * from 表名
where 主键 not in(
select top ((@pageIndex - 1) * @pageSize) 主键 from 表名) order by 排序字段;

--方法二
WITH TempTable AS

 (

SELECT ROW_NUMBER() OVER (Order by 排序字段 ) as RowNumber,* from 表名

)

 SELECT *FROM TempTable WHERE RowNumber between ((@pageIndex-1)*@pageSize+1) and @pageIndex*@pageSize


--从M到第N条记录
declare @M int;
declare @N int;
set @M=1;
set @N=5;
select top (@N) * from 表名 where 主键 not in (select top (@M-1) 主键 from 表名) order by 排序字段
原文地址:https://www.cnblogs.com/8090sns/p/3224742.html