Est-il possible que je puisse sélectionner le nombre spécifié de lignes dans SQL Server? Comme sur ma première requête, je voulais get les lignes 1 à 5, ensuite les lignes 6 à 10, puis les suivantes? Merci d'avance pour vos réponses 🙂
Pour SQL Server 2005+ (définissez @startRow et @endRow):
SELECT OrderingColumn FROM ( SELECT OrderingColumn, ROW_NUMBER() OVER (ORDER BY OrderingColumn) AS RowNum FROM MyTable ) AS MyDerivedTable WHERE MyDerivedTable.RowNum BETWEEN @startRow and @endRow
Exemple de violon SQL: http://sqlfiddle.com/#!3/b4b8c/4
Pour SQL Server 2012, essayez ceci (définissez simplement le décalage)
SELECT * FROM MyTable ORDER BY OrderingColumn ASC OFFSET 0 ROWS FETCH NEXT 5 ROWS ONLY
OFFSET
:
Indique le nombre de lignes à ignorer avant de renvoyer des lignes à partir de l'expression de la requête.
FETCH NEXT
:
Indique le nombre de lignes à renvoyer après le traitement de la clause OFFSET
.
Les définitions de OFFSET
et FETCH NEXT
sont d' ici .
Requête 1:
Décalage 0 => 1-5
Requête 2:
Décalage 5 => 6-10, etc.
Exemple de violon SQL: http://sqlfiddle.com/#!6/b4b8c/2