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

相关推荐

程序员鼓励师阿欢:哈哈哈哈哈笑死我了😂
点赞 评论 收藏
分享
牛客网
牛客企业服务