php删除mysql重复的值_mysql查询表里的重复数据方法
时间: 2023-06-23 12:52:44 浏览: 187
mysql查找删除表中重复数据方法总结
5星 · 资源好评率100%
要删除MySQL表中的重复值,可以使用以下两种方法:
1. 使用DELETE语句删除重复记录
可以使用DELETE语句删除表中的重复记录。例如,如果要删除表user中name和email字段都相同的重复记录,可以使用以下语句:
```
DELETE u1
FROM user u1, user u2
WHERE u1.id > u2.id
AND u1.name = u2.name
AND u1.email = u2.email;
```
这将删除所有具有相同name和email值的记录,只保留id值最小的记录。
2. 使用临时表删除重复记录
可以使用临时表删除表中的重复记录。例如,如果要删除表user中name和email字段都相同的重复记录,可以使用以下语句:
```
CREATE TABLE tmp_table AS
SELECT MIN(id) AS id, name, email
FROM user
GROUP BY name, email;
DELETE FROM user;
INSERT INTO user
SELECT * FROM tmp_table;
DROP TABLE tmp_table;
```
这将创建一个临时表tmp_table,该表只包含具有唯一name和email值的记录,并删除原始表中的所有记录。然后,将临时表中的记录插入原始表中,并删除临时表。这将保留id值最小的记录,并删除所有其他重复记录。
阅读全文