方法一:

思路:

①使用子查询的方法,将emp_no进行分组后找出最小id对应的记录,再使用not in,将非最小id的记录删除。

②高赞答案都是只用一次子查询,但在MySQL中,UPDATE或DELETE中子查询不能为同一张表,所以在这里要嵌套一个子查询,另外,在MySQL中需要给子查询添加别名,否则会出错。

代码:

delete from titles_test
where id not in
(
    select 
        *
    from ( select min(id) from titles_test group by emp_no) a
)