最新版 MySQL8 绝对有用的 lag 函数实现同比、环比、均差计算
🍁 作者:知识浅谈,CSDN 签约讲师,CSDN 博客专家,华为云云享专家,阿里云专家博主
📌 擅长领域:全栈工程师、爬虫、ACM 算法
💒 公众号:知识浅谈
🔥 联系方式 vx:zsqtcc
🤞最新版 MySQL8 绝对有用的 lag 函数实现同比、环比、均差计算🤞
正菜来了⛳⛳⛳
🎈同比和环比
同比:对于当前月份,去年的和当前相同月份和今年的当前月份增长率。
环比:对于当前月份,相比于上月份的增长率。这次求的同比环比用到的有 lag 函数和开窗函数 over()。
MySQL8.x 提供了 Lag 开窗函数可以超级方便的实现类似功能
lead()/Iag()函数 lag(num,t),对于统计分析的结果取当前位置之前的多少行。lag 与 lead 函数是跟偏移量相关的两个分析函数通过这两个函数可以在一次查询中取出同一字段的前 N 行的数据 lag)和后 N 行的数据 lead)作为独立的列,从而更方便地进行进行数据过滤原始脚本。
🎈实例
查找每一个月份前一个月份的 numlag(num,1,0) 表示取出这个 num 字段前 1 条数据的 num 字段。
查找每一个月份去年的月份的值和从开始到当前月份每种 product 所有的 num 平均值
🍚总结
以上就是关于 Mysql8 种提供的 lag 函数以及开窗函数 over() 这两种函数在同比环比上的应用,相比于之前 mysql5 中需要写大量的 sql 来解决同比环比的问题节省大量 sql 语句编写,希望有所帮助。
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/24f56b8e20a3410d0e8edfec2】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论