0

我有一个包含超过 7k 条记录的表 A,现在我正在创建一个新表 B。在我的新表中,BI 只需从表 A 中复制 1000 条记录,该表有超过 7000 条记录。

没有条件适用,它可能是 7000 中的任何一千条记录。

4

3 回答 3

4
INSERT INTO TABLEB(Col1, Col2, .... colN)
    SELECT TOP 1000 Col1, Col2, .... colN FROM TABLEA
于 2013-06-13T14:01:09.697 回答
2

在 SQL Server 中

SELECT top 1000 *
INTO newTableName
FROM oldTableName;

在 MySQL 中

SELECT *
INTO newTableName
FROM oldTableName Limit 1000;
于 2013-06-13T14:15:52.597 回答
0

您可以ROW_NUMBER在公用表表达式中使用。

WITH CTE AS(
   SELECT Col1, Col2, Col3, RN = ROW_NUMBER() OVER (ORDER BY Col1)
   FROM dbo.TableA
)
INSERT INTO dbo.TableB(Col1, Col2, Col3)
    SELECT Col1, Col2, Col3
    FROM CTE
    WHERE RN <= 1000

然后很容易改变应该导出的逻辑。您可以更改ORDER BY、应用 a PARTITION BY(fe 复制重复项)、使用多个ORDER BY逗号分隔或更改要导出的数字。

于 2013-06-13T14:01:28.270 回答