mysql - 如何从表中删除除一条记录之外的所有重复记录?

标签 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/

相关文章:

php - 将Mysql程序转换为PHP代码

MYSQL 选择另一个表中出现的多个 id 的计数

sql - PostgreSQL:不区分大小写的字符串比较

sql - Postgres 连续时间间隔

php - 如何使用sql查询从另一个表中获取数据?

postgresql - 如何在 PostgreSQL 中获得最顶层的父级

sql - PostgreSQL 查询只显示一个用户条目

mysql - 像维基百科一样在 div 中创建 div

mysql - SQL语法错误外键

mysql - 如何将rails应用程序中的mysql与docker连接?