我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql计算环比的方法(多种情况)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql计算环比的方法(多种情况)

整理不易,转发请注明出处,请勿直接剽窃!
点赞、关注、不迷路!

摘要: 历史、当前月环比

公式:环比=(本月-上月)/上月

历史月环比(适用于计算历史每个月的环比)

select (a.amount-b.amount)/b.amount as month_rate from (select 年月  ,amount  from ordertable) a  #本月 left join (select DATE_ADD(年月,INTERVAL 1 month )as 年月 #上月加1月,amount from ordertable) b #上月on a.年月=b.年月 and 其他关联条件(必填,否则成笛卡尔积了)

当前月环比(适用于计算给定月的环比)

select (a.amount-b.amount)/b.amount as month_rate from (select amount  from ordertable where date=本月) a  #本月 left join(select amount  from ordertable where date=上月) b  #上月 on 关联条件(必填,否则成笛卡尔积了)

用update方式计算当前月环比(适用于sql复杂情况)

为什么要用update方式?
本来就不需要update,在select里两个表(本月、上月)join就行,只是计算本月和上月的统计指标的逻辑复杂时会把select代码搞得太长或者执行更慢

UPDATE 结果表 t  left join (SELECT business_line,bondtype,amount FROM 结果表     WHERE  date=上月)s #取上月    on 关联条件(必填,否则成笛卡尔积了)SET t.month_rate=CASE WHEN s.amount!=0 THEN round((t.amount-s.amount)/s.amount,4) ELSE 0 END WHERE  t.date=本月 #取本月

来源地址:https://blog.csdn.net/qq_39331255/article/details/129734795

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql计算环比的方法(多种情况)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql表数据比较大情况下修改添加字段的方法实例

前言如果一张表在后期的维护中,发现需要加字段以满足当下的需求,但是数据量很大有百万甚至千万级的数据,要如何修改表字段呢。直接执行使用alter语句肯定是不现实的,这涉及到锁表重建表结构等操作,假设这时候还有其他线程在跑,等一天都改不过来
2022-06-28

win7系统中启动修复无法自动修复此计算机情况的三种解决方法介绍

使用Windows 7操作系统开机提示自动修复,无法正常进入操作系统。经过分析,部分系统修复报错文件为:X:\Windows\system32\drivers\swww.cppcns.compoon.sys 如下图: 解决方法: 方法一:
2023-06-02

win7系统打开浏览器internet选项提示计算机受到限制本次操作已被取消的多种解决方法

win7系统自带IE浏览器,有时候会设置IE浏览器,打开internet选项时弹出提示“由于该计算机受到限制,本次操作已被取消。请与您的系统管理员联系”怎么办?下面大家一起来解决问题吧。原因一:可能是组策略的相关设置
2023-05-21

编程热搜

目录