我有一张 table
CREATE TABLE meta.fk_payment1
(
id serial NOT NULL,
settlement_ref_no character varying,
order_type character varying,
fulfilment_type character varying,
seller_sku character varying,
wsn character varying,
order_id character varying,
order_item_id bigint,
....
);
我从 csv 文件中插入数据,其中所有列都相同而不是
编号列
如果 csv 文件上传超过一次,则数据将重复。
但 id 不会,而 id 是主键。
所以我想在不使用主键的情况下删除所有重复的行。
我必须在一张 table 上做这个
最佳答案
将不同的数据复制到工作表 fk_payment1_copy
。最简单的方法是使用 into
SELECT max(id),settlement_ref_no ...
INTO fk_payment1_copy
from fk_payment1
GROUP BY settlement_ref_no ...
删除
fk_payment1
中的所有行delete from fk_payment1
并将数据从
fk_payment1_copy
表复制到 fk_payment1
insert into fk_payment1
select id,settlement_ref_no ...
from fk_payment1_copy
关于sql - 从没有主键的 Postgresql 表中删除重复记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30161405/