web-dev-qa-db-fra.com

SQL Server 'FETCH FIRST 1 ROWS ONLY' Utilisation non valide

J'essaie de convertir une requête Db2 en SQL Server, je suis tombé sur une construction que je ne connais pas: FETCH FIRST 1 ROWS ONLY.

Voici la requête qui travaille sur db2:

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

et l'erreur que j'obtiens sur SQL Server:

Invalid usage of the option FIRST in the FETCH statement.

J'ai essayé de remplacer FIRST par NEXT qui semble être admis dans SQL Server, mais sans succès.

J'utilise SQL Sever 2014

7
Argentina

Essayez avec la clause OFFSET

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

utilisez top :

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

Vous pouvez utiliser la fonction top () '

select top 1 * from table
2
MileP