Explore Courses Blog Tutorials Interview Questions
0 votes
in SQL by (20.3k points)

What is the SQL equivalent of the .Skip()method in LINQ?

For example, I would like to select rows 1000-1100 from a specific database table.

Is this possible with just SQL? Or do I need to select the entire table, then find the rows in memory? I'd ideally like to avoid this, if possible since the table can be quite large.

1 Answer

0 votes
by (40.7k points)

If you are using SQL Server 2005 and above,  then you can use ROW_NUMBER function like this:


USE AdventureWorks;


WITH OrderedOrders AS


    SELECT SalesOrderID, OrderDate,

    ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'

    FROM Sales.SalesOrderHeader 


FROM OrderedOrders 

WHERE RowNumber BETWEEN 51 AND 60; --BETWEEN is inclusive

Browse Categories