思路是,找到是最小id的,然后删掉不是最小id的。错误做法:
DELETE FROM titles_test WHERE id NOT IN
(SELECT MIN(id) FROM titles_test GROUP BY emp_no);
错误原因是:MySQL中不允许在子查询的同时删除表数据(不能一边查一边把查的数据删了)
正确做法如下。即加一层select。
DELETE FROM titles_test WHERE id NOT IN
(SELECT * FROM (SELECT MIN(id) FROM titles_test GROUP BY emp_no) t1);