红联Linux门户
Linux帮助

在列中查询以删除重复的记录(oracle)

发布时间:2007-04-11 00:27:07来源:红联作者:Dream
  我们有一个表,字段A有重复的记录,我们想要编写一个SQL 查询来让字段A作为主键。在这样的情况下,我们需要一个删除查询来删除重复的记录,这样字段A才能具有惟一的数值。

  Brian Peasland:

  要删除重复的数据行,可以使用如下的语句:

  DELETE FROM my_table
  WHERE rowid NOT IN ( SELECT MAX(ROWID) FROM my_table
  GROUP BY colA,colB,colC );

  在GROUP BY子句中,列出你的表中所有的字段,或者你认为应该成为主键字段的字段。子查询可以得到这些分组的最大行id。DELETE可以删除所有这些行id的数值。
文章评论

共有 0 条评论