在 Postgres 中保留一份重复行的副本
处理重复数据时,通常需要删除冗余,同时保留至少一份每个重复集的实例。在 Postgres 中,这可以通过以下方法实现:
要删除重复行同时保留单个副本,我们可以使用以下查询:
DELETE FROM foo WHERE id NOT IN ( SELECT MIN(id) -- or MAX(id) for the latest copy FROM foo GROUP BY hash );
在此查询中:
通过使用 MIN(id) 或 MAX( id) 在子查询中,我们确保只保留每个重复集的最旧或最新副本。
这种方法确保每个重复行至少有一个副本保留在表中,同时删除不必要的重复项。
以上是如何在 PostgreSQL 中只保留重复行的一份副本?的详细内容。更多信息请关注PHP中文网其他相关文章!