题解 | 42#删除emp_no重复的记录,只保留最小的id对应的记录。#
删除emp_no重复的记录,只保留最小的id对应的记录。
http://www.nowcoder.com/practice/3d92551a6f6d4f1ebde272d20872cf05
错误代码
delete from titles_test where id not in (select min(id) from titles_test group by emp_no)
正确代码:
DELETE FROM titles_test
WHERE id NOT IN(
SELECT * FROM(
SELECT MIN(id)
FROM titles_test
GROUP BY emp_no)a);思路:看了别人代码才知道,MySQL中不允许在子查询的同时删除表数据(不能一边查一边把查的表删了)
sql题 文章被收录于专栏
牛客网里面的sql题,把答案和思路写下来
