窗口函数计算同比环比
环比,表示连续2个单位周期(比如连续两月)内的量的变化比,反映本期比上期增长了多少; 计算公式:环比增长率=(本期数-上期数)/上期数×100%,例如某商城2018年2月份销售额比2018年1月份销售额增长了多少。
同比,今年第n月与去年第n月比,用以说明本期发展水平与去年同期发展水平对比而达到的相对发展速度,计算公式:同比增长速度=(本期发展水平-去年同期水平)/去年同期水平×100%,例如某商城2019年1月份比2018年1月份销售额增长了多少等。
使用sql计算环比和同比的时候,查看了大多数人都是通过表嵌套表计算环比和同比,这里同样,我们使用几行简单的窗口函数来计算环比和同比。
构建一个表名为t_hb,含有date、area、prov和amnt四个字段:date表示年月日,area表示地区,province表示省份,amnt表示销售额。插入数据:
第一步:按照不同地区不同省份分组,按照时间进行排序,第二步:将相邻的两行进行计算,可以使用窗口函数lead()函数实现。