with em_ra as ( select *, row_number() over (partition by emp_no order by id) as rn from titles_test ) delete from titles_test where id IN (select id from em_ra where rn <> 1); 用row_number()给id从小到大标注,然后把除了第一个的记录删掉