如何在SQL Server中选择行范围

时间:2010-06-29 05:15:15

标签: sql-server csv

我在SQL Server中有一个非常大的数据库(大约2000万行)。我必须以.csv格式备份该数据库。但.csv在单个文件中仅支持100万行。所以我无法备份整个数据库。因此,我必须在20个部分中打破该数据库。

为此,我必须选择1-100万,然后选择100万到200万等等。

因此,我可以通过使用选择TOP查询获得前100万。但我无法检索到100万到200万等等....

所以请帮我这样做。我应该使用什么技巧,或者我该怎么做才能在.csv文件中备份。

2 个答案:

答案 0 :(得分:1)

尝试以下

select tab.col1,tab.col2,..tab.coln
from (
select a.*.row_number() over(order by Id) as rn 
from table as a) as tab
where tab.rn between limit1 and limit 2
order by id

答案 1 :(得分:0)

使用LIMIT条款:

http://dev.mysql.com/doc/refman/5.0/en/select.html

即:

/* rows 0-1 million */
SELECT * FROM tbl LIMIT 0,1000000;
/* rows 1-2 million */
SELECT * FROM tbl LIMIT 1000000,1000000;
/* etc (these might be off by 1) */