mysql - 用于删除重复电子邮件的数据库 SQL 查询
问题描述
我必须编写一个 SQL 查询来删除名为 的表中的所有重复电子邮件条目Person
,仅保留基于其最小 ID 的唯一电子邮件。Id 是该表的主键列。
这是我写的查询:
delete from Person
where Email not in (select distinct Email from Person)
但我得到这个错误:
您不能在 FROM 子句中指定目标表“Person”进行更新
解决方案
你可以试试这个。
DELETE p1 FROM Person p1
INNER JOIN Person p2
WHERE
t1.id < t2.id AND
t1.Email = t2.Email ;
推荐阅读
- linux - 如何找到shell环境变量
- apache-spark - DataFrame sql - Spark scala order by 没有给出正确的顺序
- javascript - Cronjob 没有正确运行我的脚本
- javascript - 编写一个替代 String.prototype.replace() 的函数
- css - Firefox:第一次悬停闪烁
- node.js - 如何获取和存储客户端平台(操作系统和浏览器类型以及版本)、设备位置以及日期和时间
- android - Android 适配器在滚动时抛出 IndexOutOfBoundsException
- wpf - WPF 绑定到我的 DataContext 中的值
- docker - 用于运行二进制文件的多个 ENTRYPOINT
- javascript - 单击动态按钮后未显示信息(使用切换)