【牛客SQL】SQL42 删除emp_no重复的记录,只保留最小的id对应的记录。

104 阅读1分钟

题目描述

在这里插入图片描述

题解

子查询解

运行时间:51ms超过25.03% 用Mysql提交的代码

占用内存:7452KB超过9.25%用Mysql提交的代码

DELETE FROM titles_test
WHERE id NOT IN (
    SELECT id_min FROM (
        SELECT MIN(id) AS id_min 
        FROM titles_test
        GROUP BY emp_no
    )A
);

神仙解

自己按两张表来比对

运行时间52ms

占用内存7524KB

DELETE t1
FROM titles_test t1 join titles_test t2
on t1.emp_no = t2.emp_no
where t1.id > t2.id;