1.top
主要是在sql server 2000中使用,效率较差
2、row_number函数
这种方法是sql server 2005以后,支持了row_number函数后,才开始使用的。
declare @page_size int; declare @page_num int; --比如:每页10条记录 set @page_size = 10; --比如:先取第2页 set @page_num = 2; select * from ( select *, row_number() over(order by 编号) as rownum from test )t where rownum between (@page_num-1)*@page_size+1 and @page_num*@page_size
3、SQL Server 2012开始支持的 offset fetch next 方法
declare @page_size int; declare @page_num int; --比如:每页10条记录 set @page_size = 10; --比如:先取第2页 set @page_num = 2; select * from test order by 编号 offset (@page_num-1)*@page_size rows fetch next @page_size rows only