sql - 删除重复行(不要删除所有重复行)

标签 sql postgresql duplicates

我正在使用 postgres。 我想删除重复的行。 条件是,不会删除重复行集中的 1 个副本。

即:如果有 5 条重复记录,则删除其中 4 条。

最佳答案

尝试本文中描述的步骤:Removing duplicates from a PostgreSQL database .

它描述了您必须处理无法分组的大量数据的情况。

一个简单的解决方案是这样的:

DELETE FROM foo
       WHERE id NOT IN (SELECT min(id) --or max(id)
                        FROM foo
                        GROUP BY hash)

hash 是被复制的东西。

关于sql - 删除重复行(不要删除所有重复行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3777633/

相关文章:

c++ - 在 C++ 中计算重复项

android - 如何给位图一个唯一的文件名

sql - 使用 SQL Server 将新数组附加到 JSON 对象

mysql - 如何向我的查询添加日期条件?

sql - 表示关系数据库中的排序

postgresql - postgres 中的事务支持什么

sql - 每次列更改时选择第一行

java - 无法删除给定目录中的文件

c# - 中央服务器上的 asp.net 成员资格

sql - 为什么这个空格在这个正则表达式中很重要?