hata201906112235841 level
获赞
168
粉丝
2
关注
5
看过 TA
128
门头沟学院
2023
Java
IP属地:上海
暂未填写个人简介
私信
关注
2022-09-07 11:29
门头沟学院 Java
0 点赞 评论 收藏
分享
2020-05-11 17:02
门头沟学院 Java
select * from employees where hire_date= (select min(a.hire_date) from employees a,employees b where a.emp_no!=b.emp_no and a.hire_date<b.hire_date group by a.emp_no having count(*)<3)
清香的茉莉:我试着解释一下。自连接后可以主要看作四个字段aid、bid、adate、bdate.非等值连接保证了有序对《1,3》和《3,1》只能取《1,3》。分组之后,对某个员工E来说,假如他的adate是2000,它的bdate可能有很多对如1999、 1989...加了having限制后,如果员工E对应的b多余3就直接被过滤了。count(*)<3意味着比E入职晚的员工少于3(E可能是倒数第1~3),但是有入职越晚date越大,date值又是一个确定的数(即使同一时间内多个人入职),将所有的组的adate取min之后得到的一定是倒数第三个(取值范围-3~-1,date越大值越大)
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务