我想删除表中setid
列中具有唯一值的所有行。我可以这样选择:
select * from imagesets as a
where (select count(*) from imagesets as b where a.setid = b.setid) = 1
删除它们的最佳方法是什么?有没有更好的方法来选择他们?
最佳答案
我认为以下内容在MySQL中可以工作:
delete i from imagesets i join
(select setid, count(*) as cnt
from imagesets
group by setid
having count(*) = 1
) set1
on i.setid = set1.setid;
关于mysql - 您应该如何删除具有唯一值的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20338875/