由于MySQL无法在同一张表上同时进行删除和查询操作:
解决方案:
建立一张临时表tmpresult:
delete from partno_sup where id in (select id from (select id from partno_sup where partno in
(select partno from partno_sup group by partno having count(partno)>1) and id not in
(select min(id) from partno_sup group by partno having count(partno)>1)) as tmpresult);
查询一张表的重复元素:
select * from partno_sup where partno in (select partno from partno_sup group by partno having count(partno) > 1)
本文详细介绍了如何在MySQL中处理表内重复记录的问题,通过创建临时表和使用子查询的方法,实现了只保留每组记录中ID最小的一条,其余全部删除。此外,还提供了查询表中所有重复元素的SQL语句。
1144

被折叠的 条评论
为什么被折叠?



