delete from t_student where id in (
SELECT id from (
SELECT * from t_student
where name in (select name from t_student where name is NOT NULL group by name having count(name) > 1)
and id not in (select max(id) from t_student where name is NOT NULL group by name having count(name)>1)
) t