Selecting specific row number in sql [duplicate] Selecting specific row number in sql [duplicate] sql sql

Selecting specific row number in sql [duplicate]


For SQL Server 2005+ (set @startRow and @endRow):

SELECT OrderingColumn FROM (    SELECT OrderingColumn, ROW_NUMBER() OVER (ORDER BY OrderingColumn) AS RowNum    FROM MyTable) AS MyDerivedTableWHERE MyDerivedTable.RowNum BETWEEN @startRow and @endRow

SQL fiddle example: http://sqlfiddle.com/#!3/b4b8c/4


For SQL Server 2012, try this (simply set the offset)

SELECT  *FROM     MyTable ORDER BY OrderingColumn ASC OFFSET  0 ROWS FETCH NEXT 5 ROWS ONLY 

OFFSET:
Specifies the number of rows to skip before it starts to return rows from the query expression.

FETCH NEXT:
Specifies the number of rows to return after the OFFSET clause has been processed.

Definitions of OFFSET and FETCH NEXT are from here.

Query 1:
Offset 0 => 1-5

Query 2:
Offset 5 => 6-10, etc.

SQL fiddle example: http://sqlfiddle.com/#!6/b4b8c/2