题解 | SQL241 删除emp_no重复的记录,只保留最小的id对应的记录。
WITH t1 AS ( SELECT *, DENSE_RANK() OVER(PARTITION BY emp_no ORDER BY id ASC) AS ranking FROM titles_test ), t2 AS( SELECT id, emp_no, title, from_date, to_date FROM t1 WHERE ranking = 1 ) DELETE FROM titles_test WHERE id NOT IN (SELECT id FROM t2); # 这道题本意就是删除操作,因此可以使用delete命令!