原文链接:https://blog.csdn.net/weixin_45659376/article/details/107336143
在Sql Server 2012之前,实现分页主要是使用ROW_NUMBER(),在SQL Server2012,可以使用Offset ...Rows Fetch Next ... Rows only的方式去实现分页数据查询。
在Order By子句中新增 Offset-Fetch子句,用于从有序的结果集中,跳过一定数量的数据行,获取指定数量的数据行,从而达到数据行分页的目的。经过测试,从逻辑读取数量和响应的时间消耗来测评,使用Offset-Fetch实现的分页方式,比Row_Number()方式性能要高很多。
Offset-Fetch子句要求结果集是有序的,因此,只能用于order by 子句中,语法如下:
// x1:跳过的行数 x2:显示的行数 ORDER BY 字段 ASC/DESC offset x1 rows fetch next x2 rows only
offset 10 rows fetch next 5 rows only
跳过10行,返回5行
注意:这里没有数据会返回null,一般没有数据是空记录
标签:rows,分页,OFFSET,server,Offset,only,sql,子句,Fetch From: https://www.cnblogs.com/Dongmy/p/18120200