<分区>
假设有一个包含 10 条记录的表,其中 5 条完全相同(这意味着该表中没有主键或唯一键),所以问题是“写一个SQL 查询删除所有重复记录,只留下这 5 条重复记录中的一条记录",因此最终该表中必须有 6 条不同的记录。 其实今天在采访中被问到这个问题,我无法回答。谁能帮我解决这个问题?
标签 mysql sql postgresql rdbms
<分区>
假设有一个包含 10 条记录的表,其中 5 条完全相同(这意味着该表中没有主键或唯一键),所以问题是“写一个SQL 查询删除所有重复记录,只留下这 5 条重复记录中的一条记录",因此最终该表中必须有 6 条不同的记录。 其实今天在采访中被问到这个问题,我无法回答。谁能帮我解决这个问题?
最佳答案
您可以通过以下步骤实现它。
1) 在临时表中存储不同的记录。
2) 截断原表。
3) 将临时数据插入原始数据。
select * into #tmp from original_table 其中 1=2
插入到#tmp select distinct * from original_table 。
截断表 original_table
插入 original_table select * from #tmp
关于mysql - 如何从表中删除除一条记录之外的所有重复记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32425492/