PogreSQL删除重复的数据只保留一条数据

DELETE FROM 表名
WHERE 字段名 IN (
		SELECT 字段
		FROM 你的表名
		GROUP BY 字段
		HAVING COUNT(*) > 1
	)
	AND 主键 NOT IN (
		SELECT MIN(主键)
		FROM 你的表名
		GROUP BY 字段
		HAVING COUNT(*) > 1
	)

主键uuid也行,子查询的Sql里面可以加where限制条件

你可能感兴趣的:(PostgreSQL,mybatis,java,postgresql)