【发布时间】:2020-12-26 11:48:30
【问题描述】:
最近我在 SQL Server 中使用 offset 和 fetch next 进行分页时遇到一个问题,一些记录出现在多个页面中。
SELECT A.ID, A.Col1, A.Col2, A.Status
FROM (
SELECT ID, Col1, Col2, Status
FROM Table1
ORDER BY Status
OFFSET 100 ROWS FETCH NEXT 100 ROWS ONLY --# 100 just for sample, first page will be 0 and 100
) AS A
ORDER BY A.Status
ID 是主键,它出现在不同的页面中,有很多相同状态的记录,但根据我的理解,数据库中的顺序应该相同。现在我使用ROW_NUMBER 没有问题。
但仍想知道OFFSET 和FETCH NEXT 的任何问题,以及如何解决此问题?
【问题讨论】:
标签: sql sql-server subquery sql-order-by sql-limit