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