mysql 查找并删除某些字段重复的数据

原online_time表结构及数据

 

 

1. 查找重复数据,并存到临时表tmp中

我查找的是除id外,其余字段(username, ip, loginTime, logoutTime,duration,status)都重复的数据。

create table tmp (select * from virtualmachine.online_time where id not in(select min(id) from virtualmachine.online_time group by username, ip, loginTime, logoutTime,duration,status));

结果:

 

 2.从online_time表中的删除临时表tmp中的数据

set sql_safe_updates=0;
delete from virtualmachine.online_time where id in (select id from virtualmachine.tmp)

结果:成功将id=10的数据从表online_time中删除。

posted @ 2021-09-13 11:12  Demiwang  阅读(823)  评论(0)    收藏  举报