mysql删除重复的记录,保留一条ID最小的
时间: 2023-07-22 22:09:30 浏览: 96
可以使用以下SQL语句删除重复记录,保留ID最小的一条:
```
DELETE t1 FROM table_name t1, table_name t2 WHERE t1.id > t2.id AND t1.field_name = t2.field_name;
```
其中,`table_name`为表名,`id`为自增主键,`field_name`为重复字段名。这条SQL语句会删除`field_name`相同且`id`更大的记录,保留`id`最小的记录。
相关问题
mysql 删除重复记录只保留一条
你可以使用MySQL的DISTINCT关键字来去重,例如:
```
DELETE FROM your_table
WHERE id NOT IN (
SELECT * FROM (
SELECT MIN(id) FROM your_table GROUP BY column_name
) AS tmp
);
```
其中,your_table是你要删除重复记录的表名,column_name是你想去重的列名。
这个SQL语句会保留每个column_name值最小的一条记录,并删除其它重复记录。
mysql去重复 保留最小的一条
可以使用以下SQL语句实现:
```sql
DELETE t1 FROM table_name t1, table_name t2 WHERE t1.id > t2.id AND t1.column_name = t2.column_name;
```
其中,table_name是你要去重的表名,column_name是你要去重的列名,id是该表的主键列名。
这条SQL语句会将表中所有重复的记录都删除,只保留每个重复组中id最小的那条记录。如果你只想查询去重后的结果,可以将DELETE语句改为SELECT语句:
```sql
SELECT MIN(id), column_name FROM table_name GROUP BY column_name;
```
这条SQL语句会查询出每个重复组中id最小的那条记录。
阅读全文