Sol*_*Sol 1 mysql sql phpmyadmin duplicates
以下代码返回特定列的重复行的列表。在本例中,我试图查找大学名称的重复项。我的问题是如何删除重复项并为每个不同的 University_name 只留下一份副本?
Select * from `university` where `university_name` in ( select `university_name` from `university` group by `university_name` having count(*) > 1 )
Run Code Online (Sandbox Code Playgroud)
这是结果:
1) 如果要保留 id 值最小的行:
DELETE a
FROM university a, university b
WHERE a.id > b.id
AND b.university_name=a.university_name
Run Code Online (Sandbox Code Playgroud)
2)如果要保留id值最高的行:
DELETE a
FROM university a, university b
WHERE a.id < b.id
AND b.university_name=a.university_name
Run Code Online (Sandbox Code Playgroud)