sql语句:表里有一堆相同名字的人,他们的id自增,删除相同名字只保留id最大的那个
时间: 2023-03-19 16:22:19 浏览: 124
一个用来统计相同姓名人数的SQl语句
可以使用以下 SQL 语句来删除重名用户并保留 id 最大的那个:
```
DELETE FROM your_table
WHERE name IN (
SELECT name FROM your_table
GROUP BY name
HAVING COUNT(*) > 1
) AND id NOT IN (
SELECT MAX(id) FROM your_table
GROUP BY name
)
```
其中,`your_table` 是你的数据表名,`name` 和 `id` 是数据表中对应的字段名。
这个 SQL 语句的逻辑是先找到重名的用户,然后在这些重名用户中保留 id 最大的那个,其余的都删除。
阅读全文