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

时间:2017-04-26 15:47:23

标签: sql sql-server db2

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

这是处理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.

我尝试用NEXT替换FIRST,似乎在SQL Server中被录取,但没有成功。

我正在使用SQL Sever 2014

3 个答案:

答案 0 :(得分:11)

使用top

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

答案 1 :(得分:11)

尝试使用OFFSET子句

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

答案 2 :(得分:1)

你可以使用top()finction'

select top 1 * from table