SQL 分页脚本

1.Row_Number(),

count(1) over() as totalcount返回总记录数
declare @pagesize int 
declare @pagenum int

select top (@pagesize) * from (
    select top (@pagesize*@pagenum) ROW_NUMBER() over(order by columnA ) as rownum,count(1) over() as totalcount,columnB,columnC 
    from exampletableA where columnA='' 
 )exampletable 
 where rownum between (@pagenum-1)*@pagesize+1 and @pagesize*@pagenum
 order by rownum

2.offset fetch 

SQL 2012及以后的版本,可以使用如下方式分页:

declare @page int=2
declare @pagesize int=20
SELECT * FROM table1 order by kid offset (@page-1)*@pagesize rows fetch next @pagesize rows only

原文地址:https://www.cnblogs.com/daniel-niu/p/10495433.html