-- 删除多余的重复记录(多个字段),只保留最小id的记录
DELETE FROM student WHERE id IN (
SELECT * FROM (
SELECT id FROM student WHERE (stuno,stuname) -- 注意:此处一定要加括号,当成联合字段来处理
IN (
-- 查找学号和姓名均重复的学生信息
SELECT stuno,stuname FROM student GROUP BY stuno,stuname HAVING COUNT(1) > 1
) AND id NOT IN (
-- 查询最小id的记录
SELECT MIN(id) FROM student GROUP BY stuno,stuname HAVING COUNT(1) > 1
)
) AS stu_repeat_copy
);
MySQL删除重复记录
最新推荐文章于 2024-02-28 12:09:49 发布