Duk*_*Duk 3 sql select sql-server-2008
我的数据库中有更多记录。所以我想选择前 10,000 条记录。然后我必须继续从下一个记录中选择,意味着下一个 10,001 直到一些值。如何在这里放置查询?
任何想法对我来说都是有帮助的。
如果表中没有 ID 行,或者 ID 不是 IDENTITY,则可以使用 ROW_NUMBER 函数,如下所示:
SELECT ROW_NUMBER() OVER (ORDER BY Products.ProductID) as 'rownbr', Products.ProductID
FROM Products
ORDER BY Products.ProductID
Run Code Online (Sandbox Code Playgroud)
然后只需使用 WHERE 子句,如下所示:
SELECT ROW_NUMBER() OVER (ORDER BY Products.ProductID) as 'rownbr', Products.ProductID
FROM Products
WHERE rownbr BETWEEN 10000 and 20000
ORDER BY Products.ProductID
Run Code Online (Sandbox Code Playgroud)