MYSQL练题笔记-子查询-餐馆营业额变化增长

一、题目相关内容

1)相关的表和题目

MYSQL练题笔记-子查询-餐馆营业额变化增长_第1张图片

2)帮助理解题目的示例,提供返回结果的格式

MYSQL练题笔记-子查询-餐馆营业额变化增长_第2张图片

二、自己初步的理解

题目都没怎么看懂,直接看题解。

三、题解展示和分析

题解如下,这个题解有说明窗口函数怎么写,是很好的题解啊。以及根据题目你需要解决的两个问题,综合的看怎么写吧。先从后往前分析这个题解然后结合前面的该作者给的解释。

MYSQL练题笔记-子查询-餐馆营业额变化增长_第3张图片

1.手动覆盖7天

其实这里我就理解了好久,结合下面的日期来看吧,这里最小的日期是2019-01-01,那比这个日期大6的是2019-01-07,那这就是先取到了7号这一天,这样就很好理解了,但是这里发现其实第2步是先执行的,因为他是子查询里面的子查询,然后去分析第二步

MYSQL练题笔记-子查询-餐馆营业额变化增长_第4张图片

2和3一起理解,以及窗口函数的使用

第2步是,获取每一天的销售额,这个按照常识来说很好理解,然后再执行第一步,日期手动覆盖到7天,日期这里就只能操作2019-01-07及更大的日期;然后到了第3步利用窗口函数获取(某日期 + 该日期前的 6 天)的总消费额,这里就不取平均值,因为第4步也就是最终结果是要输出总消费额的,不仅仅是平均值。

然后这里加上作者关于窗口函数的理解,真的非常好的说明。

MYSQL练题笔记-子查询-餐馆营业额变化增长_第5张图片

4.最后就是获取平均值,这很好理解。

就是distinct这一点,我觉得没有用没加上也成功了。

四、总结

但是我自己输入的时候才发现6 preceding不应该是前6行吗,没包括当前行啊,我试了一下这个rows between 6 preceding and current row也是对的,是默认包括当前行吗???我不理解,我百度的不是这样的啊,又是一个疑问留着吧。

你可能感兴趣的:(MYSQL,笔记,mysql,数据库,sql)