消除DB2表中的重复记录

时间:2010-09-13 09:33:04

标签: sql db2 duplicate-data

如何删除DB2表中的重复记录?我想为每组欺骗留下一条记录。

1 个答案:

答案 0 :(得分:1)

  1. 创建另一个表“no_dups”,该表与要从中删除重复项的表具有完全相同的列。 (您可能希望添加标识列,以便更容易识别各行)。
  2. 插入“no_dups”,从原始表中选择不同的column1,column2 ... columnN。 “select distinct”只应为原始表中的每个副本返回一行。如果不是,您可能需要更改列列表或仔细查看数据,它可能看起来像重复数据但实际上不是。
  3. 完成第2步后,您将获得原始表,“no_dups”将包含所有没有重复的行。此时,您可以执行任意操作 - 删除和重命名表,或从原始文件中删除所有内容并插入原始文件,从no_dups中选择*。
  4. 如果您在识别重复项时遇到问题,并且您已将标识列添加到“no_dups”,则应该能够使用标识列值逐个删除行。