0%

'PostgreSQL删除重复数据及思路'

刚才,遇到了 SQL去重的问题。

然而这次和以往其他不同的是:这次数据整行记录(包括id)都是重复的。不能用group、max(id)这种以及类似的方式。抛开表设计的问题,这次来说下怎么去重。

1
2
3
4
5
6
7
8
--将数据去重后存入临时表,PostgreSQL会自动创建tmp_table以及表结构
select distinct * into tmp_table from repeat_table;
--删除原记录
delete from repeat_table;
--将临时表数据插入原表
insert into repeat_table select * from tmp_table;
--删除临时表
drop table tmp_table;

大功告成。