1、请写出实现如下功能的SQL语句:删除除了学号(自动编号)字段以外,其他字段都相同的冗余记录!
学号(自动编号) | 姓名 | 性别 | 年龄 |
0001 | xw | 男 | 18 |
0002 | mc | 女 | 16 |
0003 | ww | 男 | 21 |
0004 | xw | 男 | 18 |
DELETE
FROM students
WHERE 1= 1
AND `name` IN(
SELECT `na`
FROM(
SELECT `name` na, COUNT(*) cou
FROM students
GROUP BY `name`, gender, age
HAVING cou> 1) a)
AND `id` NOT IN(
SELECT MIN(id) ids
FROM(
SELECT id, COUNT(*) cou
FROM students
GROUP BY `name`, gender, age
HAVING cou> 1) b)