MYSQL语句删除重复数据,只保留一条
时间: 2024-09-09 21:02:43 浏览: 62
mysql查找删除重复数据并只保留一条实例详解
5星 · 资源好评率100%
在MySQL中,如果你想删除表中的重复行并保留唯一的一条记录,可以使用 `DISTINCT` 关键字配合 `DELETE` 和 `LIMIT` 来实现,但这并不是标准的SQL操作,因为 `DELETE` 通常会一次性删除所有匹配条件的行。如果要在删除之前创建一个新的、无重复的表,可以这样做:
```sql
CREATE TABLE new_table AS
SELECT DISTINCT *
FROM original_table;
-- 如果你想永久删除原始表中的重复数据,需要先备份数据
DELETE FROM original_table WHERE id IN (
SELECT MIN(id)
FROM original_table
GROUP BY column1, column2, ...
);
-- 这里 `column1, column2, ...` 是你要基于哪些字段去识别重复的列
```
上述代码首先创建了一个新的表 `new_table`,其中包含 `original_table` 中唯一的行。然后,删除了 `original_table` 中基于指定字段重复的那些行,保留每组的第一个(通常是最早的那个)。
阅读全文