本文主要是介绍MYSQL练题笔记-子查询-餐馆营业额变化增长,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、题目相关内容
1)相关的表和题目
2)帮助理解题目的示例,提供返回结果的格式
二、自己初步的理解
题目都没怎么看懂,直接看题解。
三、题解展示和分析
题解如下,这个题解有说明窗口函数怎么写,是很好的题解啊。以及根据题目你需要解决的两个问题,综合的看怎么写吧。先从后往前分析这个题解然后结合前面的该作者给的解释。
1.手动覆盖7天
其实这里我就理解了好久,结合下面的日期来看吧,这里最小的日期是2019-01-01,那比这个日期大6的是2019-01-07,那这就是先取到了7号这一天,这样就很好理解了,但是这里发现其实第2步是先执行的,因为他是子查询里面的子查询,然后去分析第二步
2和3一起理解,以及窗口函数的使用
第2步是,获取每一天的销售额,这个按照常识来说很好理解,然后再执行第一步,日期手动覆盖到7天,日期这里就只能操作2019-01-07及更大的日期;然后到了第3步利用窗口函数获取(某日期 + 该日期前的 6 天)的总消费额,这里就不取平均值,因为第4步也就是最终结果是要输出总消费额的,不仅仅是平均值。
然后这里加上作者关于窗口函数的理解,真的非常好的说明。
4.最后就是获取平均值,这很好理解。
就是distinct这一点,我觉得没有用没加上也成功了。
四、总结
但是我自己输入的时候才发现6 preceding不应该是前6行吗,没包括当前行啊,我试了一下这个rows between 6 preceding and current row也是对的,是默认包括当前行吗???我不理解,我百度的不是这样的啊,又是一个疑问留着吧。
这篇关于MYSQL练题笔记-子查询-餐馆营业额变化增长的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!