题解 | #删除emp_no重复的记录,只保留最小的id对应的记录。#

删除emp_no重复的记录,只保留最小的id对应的记录。

http://www.nowcoder.com/practice/3d92551a6f6d4f1ebde272d20872cf05

delete from titles_test
where id not in ( select * from ( select min(id) from titles_test GROUP by emp_no) as a);

先筛选每组emp_no最小id的记录(min&group),在删除id不在筛选条件里的记录。(delete from 表名 where 列名 not in)。 完成上述操作后会报错,主要原因是MySQL的UPDATE或DELETE中子查询不能为同一张表。 解决办法:把子查询表添加别名(select * from … as 别名)

全部评论

相关推荐

昨天 13:48
门头沟学院 C++
点赞 评论 收藏
分享
asdasdasda...:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务