[英]Insert 3 million rows of data from one table to other in SQL server
我有一个AuditPlayers
和AuditPlayersHistorytable
,我想从中将数据插入到一个新表中,例如表名将是 Players。
在Auditplayers
表中,我有很多玩家和一些日期。 我想从AuditPlayers
和AuditPlayersHistory
中插入所有具有max(Date)
的玩家到我的新表 Players 中。
我怎样才能做到这一点? 有批次还是没有批次更好? 批处理怎么办?
我的AuditPlayers 表示例:
PlayerId Date
1 2019-01-01
1 2019-02-01
100 2019-08-01
新玩家表中的数据应该是
PlayerId Date
1 2019-02-01
100 2019-08-01
Simple MAX
和GROUP BY
解决您的问题
SELECT PlayerID, MAX(Date)Date
FROM YourTable
GROUP BY PlayerID
我想你想要这样的东西:
select playerId, max(date) as date
into players
from ((select playerId, date as date
from AuditPlayers
) union all
(select playerId, date as date
from AuditPlayersHistorytable
)
) p
group by playerId;
如果Players
已经存在,您可以使用insert
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.