数据表中存在多条相同数据,相同数据只保留一条,多的删除掉,写出SQL语句

只能用一条SQL语句写出来......急..............

select distinct name from user表示从user表中查找名字不相同的记录,筛选了重复的数据
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-20
DELETE FROM EMP E
WHERE E.id> (SELECT MIN(X.id) FROM EMP X WHERE X.EMP_NO = E.EMP_NO and ...);语句中and后面是所有出标志列id的字段全部相同,那么则删除比最小ID大的所有相同记录。因为最小的就一条记录,所以结果就只剩一条记录了。本回答被网友采纳
第2个回答  2013-07-12
用临时表会吗?不会的话你还是写程序去删除吧!稳妥。首先查出来你要处理的数据:如:在律师表里查同一律师,相同律所的数据
select TrueName,LawfirmServed,COUNT(TrueName) as LawyerCount from wl_lawyer2info
group by TrueName,LawfirmServed
having COUNT(TrueName)>1然后,在程序里把数据挨个取出来,取出来的数据肯定是个集合,遍历出来,留一条(在这里你可以去自由选择要保留的数据),其他的都删除掉。 最后,在数据库表上加唯一键索引,不让重复数据再次进入!本回答被网友采纳
相似回答