实现同比、环比计算的N种姿势 | 您所在的位置:网站首页 › excel同比环比计算 › 实现同比、环比计算的N种姿势 |
种姿势 在做数据分析时,我们会经常听到同⽐、环⽐同⽐的概念。各个企业和组织在发布统计数据时,通常喜欢⽤同⽐、环⽐来和之前的历史数据 进⾏⽐较,⽤来说明数据的变化情况。例如,统计局公布2022年1⽉份CPI同⽐增长0.9%,环⽐增长0.6%。 实际中,在基于数据库的数据分析场景中,环⽐和同⽐是典型的复杂计算场景之⼀,特别是在Oracle等商业数据库的分析函数出现之前。以 MySQL为例,在8.0版本中才引⼊了Lag和Lead函数,这两个函数结合开窗函数有效的提⾼了同⽐、环⽐等复杂运算的实现效率。在5.x系 列版本中,MySQL需要依赖多次嵌套⼦查询和⾃关联才能实现此类计算。 我们以⼀个简单的例⼦,来分别看下,MySql 5.x和8.0是具体实现同⽐、环⽐计算的。 ⽰例数据见表: CREATE TABLE sales ( ` 产品 ID` varchar(20), ` 销售数量 ` int(20) , ` 销售时间 ` timestamp(6) NULL DEFAULT NULL ) INSERT INTO sales VALUES ('C1001', 15, '2020-06-01 10:10:12'); INSERT INTO sales VALUES ('C1002',26, '2020-05-02 0:10:12'); INSERT INTO sales VALUES ('C1003', 21, '2020-04-03 0:10:12'); INSERT INTO sales VALUES ('C1003', 23, '2020-04-04 0:10:12'); INSERT INTO sales VALUES ('C1003', 0, '2020-03-05 0:10:12'); INSERT INTO sales VALUES ('C1001', 16, '2020-02-06 3:0:12'); INSERT INTO sales VALUES ('C1002', 32, '2020-01-07 0:10:12'); INSERT INTO sales VALUES ('C1001', 16, '2019-12-08 0:12:24'); INSERT INTO sales VALUES ('C1001', 32, '2019-06-09 0:12:24'); |
CopyRight 2018-2019 实验室设备网 版权所有 |