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