我试着解释一下。自连接后可以主要看作四个字段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越大值越大)
2

相关推荐

耀孝女:就是你排序挂了
点赞 评论 收藏
分享
shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
牛客网
牛客企业服务