关于删除没有主键表中重复的数据

MySQL有一张表,**没有主键**,里面有十条**一模一样**的数据。

题目是只使用**一条sql语句**来删除多余的九条数据,只保留一条。

请教各位大佬。

3个回答

给你个思路:
可以将查询不重复的数据存到临时表里,删除掉原表,然后将临时表的数据存到原表里

Select distinct * into Tmp from table_a
Drop table table_a
Select * into table_a from Tmp
Drop table Tmp

如果类似这样的数据很多,你可以按楼上的,先去重的数据存到临时表,删掉原表,再创建回来。

第一种、
DELETE TOP (9) FROM 表名

第二种、
delete result from (select ROW_NUMBER () over(partition by 字段名 order by 字段名 )r, * from 表名 t ) result where result.r!=1

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐