题解 | #删除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出同一表中的某些值,然后在同一语句中更改这个表,因此需要一个中间表。

全部评论

相关推荐

头像
2024-12-19 18:11
英特尔_Software_engineer
下水道鼠鼠鼠鼠:男的能去当技师吗 好进吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务