我在 PostgreSQL 中有一个表。我在那里导入了 500 万条记录。并且不小心导入了一些重复的记录,我不需要从表中删除那些重复的记录。这里 Table 的主键是四列的组合..
问问题
189 次
2 回答
3
create table t2 as
select distinct on (col1, col2, col3, col4) *
from t;
drop table t;
alter table t2 rename to t;
于 2013-04-10T13:15:39.647 回答
0
DELETE FROM the_table a
WHERE a.ctid <> (SELECT min(b.ctid)
FROM the_table b
WHERE a.col_1 = b.col_1
AND a.col_2 = b.col_2
AND a.col_3 = b.col_3
AND a.col_4 = b.col_4);
这将保留其中一个副本并删除其余部分。
于 2013-04-10T13:17:33.450 回答