mysql - 使用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)
解决方案
推荐阅读
- excel - 如果单元格为空白,则添加另一个的总和
- firebase - 文件未上传到 Firebase 存储
- mysql - NodeJS MySQL 高级查询
- c# - 如何在 EF6 中表示文件系统
- here-api - 使用 GET 方法定义 Region 资源中的区域
- c# - 如何使用.net core 2在启动时删除特定的cookie?
- angular - 在应用程序中禁用 Angular AuthGuard 和拦截器安全性,切换功能?
- sql - 带有分片(Vitess)的 mysql 会比任何没有 SQL 数据库都快吗?
- reactjs - RadioButton 一个接一个(进入一个空间)
- python - 如何在 for 循环中将“无”变量更改为“不适用”