1

I want to fetch records from a table in my sql server database in parts. Like, in one query I want to see first 1000 records, in next query next 1000 records. Likewise..

Is it possible with sql server ? I am using sql server 2008. While googling, I found LIMIT clause for mysql, but it does not work for sql server. So can any one give in Sql. Please help.

Quassnoi
  • 398,504
  • 89
  • 603
  • 604
Vivekh
  • 4,021
  • 10
  • 55
  • 96

2 Answers2

3

First 1000 records:

SELECT  TOP 1000 *
FROM    mytable
ORDER BY
        mycolumn

General solution (supports offset)

SELECT  *
FROM    (
        SELECT  *,
                ROW_NUMBER() OVER (ORDER BY mycolumn) rn
        FROM    mytable
        ) q
WHERE   rn BETWEEN 1001 AND 2000
ORDER BY
        mycolumn
Quassnoi
  • 398,504
  • 89
  • 603
  • 604
0

Have also a look at T-sql: how to perform optimised Paging?

Community
  • 1
  • 1
Tobias Schittkowski
  • 2,216
  • 2
  • 16
  • 24