ROW_NUMBER() OVER (ORDER BY OrderConfirmTime DESC) 中, 如果OrderConfirmTime不唯一, 会造成分页中的数据重复问题.

如题, 真实的系统中有有多条数据有完全一致的OrderConfirmTime确认时间, 因此以此分出的页中, 第2页中出现的数据有可能还出现在第3页中.

查了一下才知道, 排序的列如果不能唯一确认行的顺序,就会造成这个问题。

解决办法也很简单, 后面再加一个订单编号作为最后一个排序字段,问题就解决了,如下: ROW_NUMBER() OVER (ORDER BY OrderConfirmTime DESC, OrderID  ) AS RowNumber

原文地址:https://www.cnblogs.com/liuzhendong/p/2225414.html