来源: (1条消息) SQL中用OFFSET FETCH NEXT 分页的坑__学而时习之_的博客-CSDN博客
在SQL2012后的版本中支持了OFFSET index FETCH NEXT page_size ROWS ONLY的分页方式,但要分页就必须要有排序,而排序的字段选择的不对,就有可能造成分页结果不正确,比如第1页和第2页的数据有重复。为什么呢?
究其原因,是因为排序字段的数据不唯一,或才有null,比如按价格排序,有同一价格的商品很多,结果就会造成排序错误。所以需要选择唯一值的字段来排序,比如自增的索引、GUID、KEY等,示例代码如下
DECLARE @PageIndex INT
DECLARE @PageSize INT
SET @PageIndex=0
SET @PageSize=10
SELECT * FROM TProduct ORDER BY Product_Key DESC
OFFSET @PageIndex * @PageSize ROWS FETCH NEXT @PageSize ROWS ONLY
————————————————
版权声明:本文为CSDN博主「_学而时习之_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xxdddail/article/details/89173470