Mysql 如何删除重复记录并仅保留一个具有最新日期更新字段的副本

Mysql 如何删除重复记录并仅保留一个具有最新日期更新字段的副本,mysql,sql,Mysql,Sql,我需要删除所有具有相同的stationId的重复记录,并且只保留一条具有最新dateUpdated stationId是varchar(20) dateUpdated是datetime 我通常会在下一次删除重复项,但这次我认为它不起作用 ALTER IGNORE TABLE table ADD UNIQUE KEY idx1(title); 我认为altertable语句不会删除记录;它只是忽略索引创建错误 相反: delete t from table t left join

我需要删除所有具有相同的
stationId
的重复记录,并且只保留一条具有最新
dateUpdated

stationId
是varchar(20)
dateUpdated
是datetime

我通常会在下一次删除重复项,但这次我认为它不起作用

ALTER IGNORE TABLE table ADD UNIQUE KEY idx1(title); 

我认为
altertable
语句不会删除记录;它只是忽略索引创建错误

相反:

delete t
    from table t left join
         (select t.stationId, max(t.dateUpdated) as maxdu
          from table t
          group by t.stationId
         ) tmax
         on t.stationId = tmax.stationId and t.dateUpdated = tmax.maxdu
    where tmax.stationId is null;
从表t1、表t2中删除t1,其中t1.dateUpdated

DELETE t1 FROM table t1, table t2 WHERE t1.dateUpdated < t2.dateUpdated AND t1.stationId= t2.stationId