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

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

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

知识点

  1. 首先将表按照emp_no进行分组,找出最小的id
  2. 筛选条件为不是这些id使用not in
  3. 删除记录delete from表名

代码

delete from titles_test
where id not in(
select min_id
from
(select min(id) as min_id
from titles_test
group by emp_no) as t1)

补充

delete from titles_test
where id not in  
 (select min(id) 
 from titles_test
 group by emp_no)

这样写会报错,不能先select出同一表中的某些值,然后在同一语句中更改这个表,因此需要一个中间表。

全部评论

相关推荐

牛客154160166号:9月底还给我发短信,好奇怪,我24届的
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务