SQL Server 'FETCH FIRST 1 ROWS ONLY' 使用无效

新手上路,请多包涵

我正在尝试将 Db2 查询转换为 SQL Server,但遇到了一个我不熟悉的构造:仅 FETCH FIRST 1 ROWS。

这是在 db2 上运行的查询:

 select * from products.series where state = 'xxx' order by id
FETCH FIRST 1 ROWS ONLY

以及我在 SQL Server 上遇到的错误:

 Invalid usage of the option FIRST in the FETCH statement.

我尝试用 SQL Server 中似乎承认的 NEXT 替换 FIRST,但没有成功。

我正在使用 SQL Sever 2014

原文由 Argentina 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

尝试使用 OFFSET 子句

select * from products.series where state = 'xxx' order by id
OFFSET 0 ROWS
FETCH NEXT 1 ROWS ONLY

原文由 Oto Shavadze 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 top

 select top 1 * from products.series where state = 'xxx' order by id

原文由 SqlZim 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进