--方法一 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 排序字段