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
  • 413,100
  • 91
  • 616
  • 614
Vivekh
  • 4,141
  • 11
  • 57
  • 102

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
  • 413,100
  • 91
  • 616
  • 614
0

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

Community
  • 1
  • 1
Tobias Schittkowski
  • 2,221
  • 2
  • 16
  • 25