【问题标题】:Why can't I query OFFSET/ FETCH query on my SQL Server?为什么我不能在我的 SQL Server 上查询 OFFSET/FETCH 查询?
【发布时间】:2013-11-14 10:18:07
【问题描述】:

我想在我的 SQL Server 上运行此查询,如下所示:

Microsoft SQL Server Management Studio 10.50.1600.1

但它不能识别OFFSET,所以显示ERROR?

SELECT * FROM dbo.tbl_MatchDetail
ORDER BY MatchDetailID
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;

【问题讨论】:

  • 您显示的语法显然是在 SQL Server 2012 中引入的,因此,如果您的每个标签都使用 SQL Server 2008,那就是问题所在。请参阅this question 了解替代方案。
  • okthanx 是否有任何等效的 MSSQL 2008 R2 语法?
  • 查看我链接到的问题的答案。

标签: sql-server sql-server-2008


【解决方案1】:

OFFSET FETCH 是 Sql Server 2012 中添加的新功能,在 Sql Server 2008 中不存在。

【讨论】:

  • Microsoft SQL Server Management Studio 12.0.1524.0 这是我上面的 MSSQL 信息,MSSQL 2014 CTP2 仍然 OFFSET 关键字无效为什么?
  • OFFSET 10 ROWS 仅获取 NEXT 10 ROWS。
  • 在末尾添加 Only 关键字。
  • @AmirrezaKeshavarz 它是否适用于 SQL Server 2014 (12.0.2000.8)?我总是收到“'OFFSET'附近的语法错误”错误
  • @ArianSharifian 在 SSMS 2012 中遇到同样的问题:/
【解决方案2】:

请注意,如果您没有订单,即使在 2014 年也会收到错误消息。偏移量必须遵循 order by 语句。

【讨论】:

  • 是的,这就是我的问题。谢谢
猜你喜欢
  • 2011-02-26
  • 2022-08-14
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
  • 2021-11-26
  • 2021-11-28
  • 1970-01-01
  • 2011-03-01
相关资源
最近更新 更多