具有计数器和删除的唯一索引

时间:2014-09-11 10:15:46

标签: postgresql indexing duplicates unique sql-delete

我有一个包含三列的表格。 我想用计数器创建一个关于所有三列的unique index,告诉我重复的位置。我也想删除它们。

1 个答案:

答案 0 :(得分:1)

我不确定你的问题究竟是什么,但是如果你需要删除postgre数据库中的重复项,请试试这个:

DELETE FROM tablename 
    WHERE id IN (SELECT id
          FROM (SELECT id,
                         row_number() over (partition BY column1, column2, column3 ORDER BY id) AS rnum
                 FROM tablename) t
          WHERE t.rnum > 1);

“有时会使用时间戳字段而不是ID字段。”

它帮助我删除了表格中的重复项。

您可以在以下位置找到此解决方案: http://wiki.postgresql.org/wiki/Deleting_duplicates