代码之家  ›  专栏  ›  技术社区  ›  Julien

mysql数据库中的doubletselect/delete

  •  0
  • Julien  · 技术社区  · 15 年前

    我的问题是:

    id0 id2

    我想删除有这对夫妇(id1,id2)共同点的行,只保留一个。 例子: 2/1/2 3/1/2<=删去 4/2/1 5/2/3 6/2/3<=删去

    谢谢

    1 回复  |  直到 15 年前
        1
  •  3
  •   Cade Roux    15 年前

    假设id0是唯一的(因此所有等价元组(id1,id2)的最小值(id0)是唯一要保留的值):

    DELETE
    FROM tbl
    WHERE id0 NOT IN (
        SELECT MIN(id0)
        FROM tbl
        GROUP BY id1, id2
    )