在SQL中,如何删除基于多列的重复行?

里奥拉

我知道我可以在下面运行以下查询,以基于类似这样的多列查找“重复”行:

SELECT      PosId, OrgId
FROM        PosOrg
GROUP BY    PosId, OrgId
HAVING COUNT(*) > 1

但是现在我想删除重复的行,以便上述查询返回零行。我不在乎要删除哪几行(只要根据这两列的唯一性而只剩下一行)。

在SQL中删除这些重复项的正确方法是什么?

于尔根

如果您还有其他唯一id列,则可以

delete from PosOrg
where id not in
(
  SELECT      min(id)
  FROM        PosOrg
  GROUP BY    PosId, OrgId
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章