这个太妙了,比较难理解的是为什么group by筛选完之后的结果就一定是from_date最早的。翻了好久代码才发现,from_date也是主键。自连接+用to_date='9999-01-01'进行where操作后的结果集,应该是按照两个主键进行了排序,这就保证了结果集的顺序是以from_date降序进行排列的。而group by分组如果是一对多的关系,那存在多个结果的字段,保留下来的数据一定是最靠前的那一条,最后自然而然留下来的就是题目想要的结果了。其实可以这么玩的关键其实在于,from_date是主键。我很怀疑如果from_date如果不是主键,这个玩法就失效了。
点赞

相关推荐

UtopianYou...:这个简历排版真的不太行哦,去找免费的或者花点小钱,把排版弄整齐一点吧,看着舒服。
点赞 评论 收藏
分享
03-17 15:22
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务