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

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
牛客网
牛客企业服务