首页 > 解决方案 > 使用mysql删除重复记录并只保留一条记录?

问题描述

我正在使用下面的 SQL 删除重复记录并仅保留 min(id) 记录

delete from admin_sync_user 
where login_name in
(select login_name from 
(select login_name from admin_sync_user group by login_name having count(login_name) > 1) as a)
and id not in
(select login_name from
(select min(id) from admin_sync_user group by login_name having count(login_name) > 1) as b)

但我的问题是:SQL 只执行如下,不使用第二个条件。我正在使用 MYSQL 数据库。有谁知道上面的 MySQL 有什么问题以及如何修改它?

  delete from admin_sync_user 
    where login_name in
    (select login_name from 
    (select login_name from admin_sync_user group by login_name having count(login_name) > 1) as a)

标签: mysql

解决方案


推荐阅读