MySQL:删除重复的行,不保留任何行

时间:2018-05-04 08:40:58

标签: mysql

新手在这里,对于这个表我想删除在Event中没有唯一编号的所有ID(行)。到目前为止,我发现只保留一个ID的解决方案,但删除了重复项。

    +-----------+--------------+----------+--------+
    | ID        | Costs        |   Date   | Event  |
    +-----------+--------------+----------+--------+
    |     1     |      100     |2012/09/10|  5     |
    +-----------+--------------+----------+--------+
    |     2     |      300     |2012/09/20|  5     |
    +-----------+--------------+----------+--------+
    |     3     |      400     |2012/10/01|  4     |
    +-----------+--------------+----------+--------+

我尝试了ALTER IGNORE TABLE ADD UNIQUE INDEX功能,但我不想保留一个ID。例如,在此表中,我想从ID 1和2中删除行,但保留ID 3。

注意:所有ID都是唯一的。

谢谢。

1 个答案:

答案 0 :(得分:0)

你可以使用HAVING获取具有重复值的Event,然后在DELETE查询中使用它而不是在WHERE标准中使用ID,不是吗?