如何删除有重复条目的特定条目

时间:2020-04-03 05:45:32

标签: mysql sql

对不起,我只是使用我的老朋友的这个帐户,他说他希望它具有更高的声誉。大声笑

我有一个看起来像这样的表,我想删除条目,其中下一个重复的条目基于first_name,middle_name和last_name以及alias列。同时保留第一个条目或具有lowest可能ID的条目 enter image description here

1 个答案:

答案 0 :(得分:1)

您可以在delete语句中进行自我连接来实现:

delete t
from tablename t inner join tablename tt
on tt.first_name = t.first_name and tt.last_name = t.last_name and tt.alias = t.alias  
and tt.id < t.id;

或通过删除除ididfirst_name的每种组合中的最小last_name以外的所有带有alias的行:

delete from tablename
where id not in (
  select t.minid from (
    select min(id) minid
    from tablename
    group by first_name, last_name, alias
  ) t
)
相关问题