加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在PostgreSQL中删除完全重复的行(只保留1)

发布时间:2020-12-13 16:40:25 所属栏目:百科 来源:网络整理
导读:我在PostgreSQL 8.3.8数据库中有一个表,它没有键/约束,并且具有完全相同值的多个行。 我想删除所有重复的内容,每行只保留1个副本。 特别有一列(命名为“密钥”)可用于识别重复项(即每个不同的“密钥”只应存在一个条目)。 我该怎么做? (理想情况下,使用
我在PostgreSQL 8.3.8数据库中有一个表,它没有键/约束,并且具有完全相同值的多个行。

我想删除所有重复的内容,每行只保留1个副本。

特别有一列(命名为“密钥”)可用于识别重复项(即每个不同的“密钥”只应存在一个条目)。

我该怎么做? (理想情况下,使用单个SQL命令)
在这种情况下速度不是问题(只有几行)。

DELETE FROM dupes a
WHERE a.ctid <> (SELECT min(b.ctid)
                 FROM   dupes b
                 WHERE  a.key = b.key);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读