我有一个包含超过 7k 条记录的表 A,现在我正在创建一个新表 B。在我的新表中,BI 只需从表 A 中复制 1000 条记录,该表有超过 7000 条记录。
没有条件适用,它可能是 7000 中的任何一千条记录。
我有一个包含超过 7k 条记录的表 A,现在我正在创建一个新表 B。在我的新表中,BI 只需从表 A 中复制 1000 条记录,该表有超过 7000 条记录。
没有条件适用,它可能是 7000 中的任何一千条记录。
INSERT INTO TABLEB(Col1, Col2, .... colN)
SELECT TOP 1000 Col1, Col2, .... colN FROM TABLEA
在 SQL Server 中
SELECT top 1000 *
INTO newTableName
FROM oldTableName;
在 MySQL 中
SELECT *
INTO newTableName
FROM oldTableName Limit 1000;
您可以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
逗号分隔或更改要导出的数字。