mysql 查询重复数据并删除
时间: 2023-09-11 08:04:04 浏览: 91
mysql查询表里的重复数据方法
可以使用以下 SQL 语句来查询重复数据并删除:
```
-- 查询重复数据
SELECT col1, col2, col3, COUNT(*) FROM table_name GROUP BY col1, col2, col3 HAVING COUNT(*) > 1;
-- 删除重复数据,保留 id 最小的数据
DELETE FROM table_name WHERE id NOT IN (SELECT MIN(id) FROM (SELECT id FROM table_name GROUP BY col1, col2, col3 HAVING COUNT(*) > 1) AS tmp GROUP BY col1, col2, col3);
```
其中,`col1, col2, col3` 是需要查询和删除重复数据的列,`table_name` 是需要操作的数据表,`id` 是该表中的主键或唯一标识符,用于保留数据中最小的一条。
需要注意的是,删除操作可能会对数据造成不可逆的影响,请谨慎操作。建议先备份数据再执行删除操作。
阅读全文