【发布时间】:2018-12-10 14:00:19
【问题描述】:
Microsoft SQL Server 2008 R2
我正在运行可能需要数小时才能完成的大型 SQL 选择查询。所以我尝试将查询结果分成更小的集合。
例如,首先返回结果 1-10,000,然后是 10,001 - 20000,以此类推
我使用下面的代码,但它给了我错误
SELECT *
FROM PP_ConsolidatedSalesView
WHERE financial_period = '2018-11'
ORDER BY id
OFFSET 10000 ROWS
FETCH NEXT 10000 ROWS ONLY
我使用循环来动态更改偏移量并获取下一个值。
错误信息是:
'OFFSET' 附近的语法不正确
有人知道为什么吗?还有其他解决方案吗?
【问题讨论】:
-
你用的是什么版本?你能分享确切的错误信息吗?
-
您运行的 SQL Server 版本是什么?运行
SELECT @@VERSION看看。OFFSET . FETCH在 SQL Server 2012 中引入,在早期版本中不可用
标签: sql-server fetch offset