Sql Server 2012之后,用 offset 做分页

Sql Server 2012之后,用 offset 做分页

ZKEASOFT February 17, 2017


分页查询,是每一个项目都会用到的基本的查询方式,在SQL 2012之前,分页还是比较麻烦,一般都要用到嵌套查询,影响性能。但在SQL 2012以后,微软官方支持了分页查询,这与MySql有点类似,就是使用 offset。

select * FROM Employees ORDER BY Name OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;

可以这样参数化:

DECLARE @PageSize INT=20,@PageIndex INT=0
select * FROM dbo.Common_Country ORDER BY Name OFFSET @PageSize * @PageIndex ROWS FETCH NEXT @PageSize ROWS ONLY;

参考资料:

https://technet.microsoft.com/en-us/library/gg699618(v=sql.110).aspx


微信公众号