0

I have a huge data in my table so I want to fetch it in parts. So I am trying to run

select top 1000 from table_name

It's giving me the top 1000 data but what will be the query if I want the next 1000 data. It's just returning me the first 1000 data.

2 Answers2

1

This is answered here: https://stackoverflow.com/a/5884057/11967866

SELECT  *
FROM    (
        SELECT  *,
                ROW_NUMBER() OVER (ORDER BY mycolumn) rn
        FROM    mytable
        ) q
WHERE   rn BETWEEN 1001 AND 2000
ORDER BY
        mycolumn
1

You can use ROW_NUMBER()

or you can simply use this.

select top(1000) * from Table_Name where Column_Name NOT IN (select top (1000) Column_Name  from Table_Name)