获取姓名相同的条数>=2的姓名
获取所有这些姓名的ID
找出重复记录中第一条记录的主键
select name from Person group by name having count(*)>=2;
获取所有这些姓名的ID
select id from Person where name in (select name from Person group by name having count(*)>=2);
找出重复记录中第一条记录的主键
select min(id) from Person group by name having count(*) >= 2;
select min(id), name, count(*) from Person group by name having count(*) >= 2;
删除重复的记录
delete from Person where
-- 删除姓名相同数量>=2的数据
id in (select id from Person where name in (
select name from Person group by name having count(*) >= 2))
-- 并且不是第一条
and id not in (select min(id) from Person group by name having count(*) >= 2);