相关疑难解决方法(0)

如何删除重复的条目?

我必须为现有表添加唯一约束.这很好,除了表已经有数百万行,并且许多行违反了我需要添加的唯一约束.

删除有问题的行的最快方法是什么?我有一个SQL语句,它找到重复项并删除它们,但它需要永远运行.有没有其他方法可以解决这个问题?也许备份表,然后在添加约束后恢复?

sql postgresql duplicate-removal unique-constraint sql-delete

93
推荐指数
7
解决办法
9万
查看次数

PostgreSQL with-delete"关系不存在"

我正在使用postgreSQL 9.1,我想使用这个技巧从我的表中删除重复项:https: //stackoverflow.com/a/3822833/2239537

所以,我的查询看起来像这样:

WITH cte
 AS (SELECT ROW_NUMBER() 
 OVER (PARTITION BY code, card_id, parent_id 
     ORDER BY id DESC) RN
     FROM card)
DELETE FROM cte
WHERE RN > 1
Run Code Online (Sandbox Code Playgroud)

但它告诉我

ERROR: relation "cte" does not exist
SQL state: 42P01
Character: 157
Run Code Online (Sandbox Code Playgroud)

但是这个说法很好:

WITH cte
 AS (SELECT ROW_NUMBER() 
 OVER (PARTITION BY code, card_id, parent_id 
     ORDER BY id DESC) RN
     FROM merchantcard)
SELECT * FROM cte
WHERE RN > 1
Run Code Online (Sandbox Code Playgroud)

任何想法如何让它工作?谢谢!

sql postgresql postgresql-9.1

10
推荐指数
2
解决办法
6815
查看次数