gpt4 book ai didi

mysql - 大型 SQL 数据库删除重复行

转载 作者:行者123 更新时间:2023-11-29 13:33:16 28 4
gpt4 key购买 nike

具有 60 000 000 条记录的大型 SQL 2008 表,我遇到重复行的问题。

这个命令给了我我的副本 http://support.microsoft.com/kb/139444

SELECT     id, sa_trvalue,  COUNT(*) AS tot  
FROM msanal
GROUP BY id, sa_trvalue
HAVING (COUNT(*) > 1)

但是当我执行这些步骤(INTO 和 DISTINCT)时,我没有足够的内存来完成操作。

最佳答案

您可以尝试这种可能需要更少内存的方法:

WITH CTE AS
(
SELECT id, sa_trvalue,
rn = ROW_NUMBER() OVER (PARTITION BY id, sa_trvalue ORDER BY id ASC)
FROM msanal
)
DELETE FROM CTE WHERE rn > 1

公用表表达式还有一个优点,即您可以轻松修改它以查看要删除的内容。因此,您只需将 DELETE 更改为 SELECT *

关于mysql - 大型 SQL 数据库删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19120451/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com