[英]MySql how do I update table based on group by within that table?
当我运行以下查询时,我得到
错误#1093-您无法在FROM子句中指定目标表'x2'用于更新
update contacts
set duplicates = 1
where email in ( select email from contacts
group by email
having count(*) > 1)
任何帮助,将不胜感激。
我认为您可以通过嵌套子查询来欺骗它。
update contacts set duplicates = 1 where email in
(select email
from
(select email from contacts group by email having count(*) > 1) as a)
您可以执行JOIN查找具有相同电子邮件和不同主键的其他行。
例如,假设您的主键称为id
:
UPDATE contacts AS c1
JOIN contacts AS c2 ON (c1.email = c2.email AND c1.id <> c2.id)
SET c1.duplicates = 1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.