我有一个大约有2500万行的数据集。我想将它导出到ACCESS。但是,我无法将其整体导出。所以我输出了前1000万行。我使用了下面显示的代码。
SELECT TOP (10000000) [TRD_EVENT_DT]
,[TRD_EVENT_TM]
,[TRD_STCK_CD]
,[TRD_PR]
,[TRD_TUROVR]
FROM [trade92].[dbo].[trade]
现在,我想选择第二个1000万行,然后选择最后的5百万行,将它们导出到ACCESS。
我该怎么做?
答案 0 :(得分:2)
您可以使用CTE:
;WITH YourQuery AS (
SELECT ROW_NUMBER() OVER (ORDER BY TRD_EVENT_TM DESC) as RowNumber, *
FROM trade
)
SELECT * FROM YourQuery
WHERE RowNumber BETWEEN 10000001 AND 20000000
假设您使用的是SQL Server,而不是其他当前标记的RDBMS之一。要获取最终的行集,请将WHERE子句更改为:
WHERE RowNumber > 20000000
答案 1 :(得分:0)
您还可以在查询中使用偏移和提取:
SELECT [TRD_EVENT_DT]
,[TRD_EVENT_TM]
,[TRD_STCK_CD]
,[TRD_PR]
,[TRD_TUROVR]
FROM [trade92].[dbo].[trade]
ORDER BY [TRD_EVENT_DT]
OFFSET 10000000 ROWS
FETCH NEXT 5000000 ROWS ONLY