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

摘要: 历史、当前月环比

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

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

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 结果表 tleft 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=本月 #取本月

mysql计算环比的方法(多种情况)相关推荐

  1. MySQL 计算环比(同比类似)

    目的: 计算上海市某企业(WATER_METER_ID = 592)在2018.1.1到2018.11.5每个月的用水量,上个月的用水量以及月环比. 1.查看库表 SELECT            ...

  2. mysql按位存储_数据库中用一个值来保存多种情况:二进制和按位异或

    例如,某个房间可从[灯,床,桌,椅,杯子,饮水机--]这些器具中挑选,从而组成这个房间的装潢.我们可能会设计一个房间表,再设计一个器具表,再设计一个关系表,通过这个关系表来保存它们之间的对应关系.但是 ...

  3. rownum sql值获取一个值_sql - 用MySQL计算中值的简单方法

    sql - 用MySQL计算中值的简单方法 使用MySQL计算中值的最简单(并且希望不是太慢)的方法是什么? 我用val来查找平均值,但我很难找到一种计算中位数的简单方法. 现在,我将所有行返回给PH ...

  4. Java的Unicode编码转化(多种情况处理方法)

    Java的Unicode编码转化(多种情况处理方法) Java转unicode转中文的情况使用的场景很多,是一个很常见的需求,按理来说,这样的功能应该被java集成起来,不过很遗憾,java提供的方法 ...

  5. java 处理unicode_[转]Java的Unicode编码转化(多种情况处理方法)

    转: [JDK自带了native2ascii,但是很多时候还是需要自己写程序去解析unicode编码问题,网上的decodeUnicode 这个方法实现有比较严重的解析问题实在是个大坑,转了作者的这篇 ...

  6. MySQL计算时间差的方法

    MySQL计算时间差的方法 对于timestamp类型 TIMESTAMPDIFF 可以使用TimeStampDiff()函数计算两个时间之间的时间差,函数声明如下: TIMESTAMPDIFF(un ...

  7. python pandas 条件求和_python 使用pandas计算累积求和的方法

    python 使用pandas计算累积求和的方法 使用pandas下的cumsum函数 cumsum:计算轴向元素累积加和,返回由中间结果组成的数组.重点就是返回值是"由中间结果组成的数组& ...

  8. 统一javaweb项目和mysql数据库时间UTC时间方法及原理

    统一javaweb项目和mysql数据库时间UTC时间方法及原理 文章目录 统一javaweb项目和mysql数据库时间UTC时间方法及原理 前言 UTC时间与 GMT时间 时间戳和时区 mysql时 ...

  9. 一文带你了解MySQL之单表访问方法

    前言 对于我们这些MySQL的使用者来说,MySQL其实就是一个软件,平时用的最多的就是查询功能.DBA时不时丢过来一些慢查询语句让优化,我们如果连查询是怎么执行的都不清楚还优化什么,所以是时候掌握真 ...

最新文章

  1. 修改特征码的相关知识
  2. JavaScript EventLoop
  3. python3:面向对象(多态和继承、方法重载及模块)
  4. 中断处理函数_ARM的中断处理 [二]
  5. EnterCriticalSection 多线程操作相同数据遇到的问题(线程锁)
  6. 【DFS】LeetCode 51. N-Queens
  7. error500java_错误 500 java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
  8. python进阶路线 知乎_Python自学路线图之Python进阶
  9. 从运营到高管,这是我总结的运营人能力地图
  10. 用pdf转cad转换器进行操作的简单步骤
  11. 华为获颁中国首个5G基站设备进网许可证:可支持中国规模部署;IBM推出新一代企业平台Z15;Testin最新AI产品发布……...
  12. PMP ITTO 和 4W1H
  13. C# 之 TcpClient和Socket
  14. 拉开中兴帷幕 张朝阳再造搜狐
  15. 秒杀活动,怎么设计全套技术方案
  16. Confluence 摘要(Excerpt)宏
  17. 707. 设计链表(中等 链表)
  18. 爬虫ip代理对高匿代理ip的重要性
  19. ​基于STM32F407的五子棋游戏设计​
  20. 如何用PS处理虚的照片.使它变的清晰

热门文章

  1. NOIP2013 提高组复赛解题报告
  2. Scala函数式编程实战
  3. E0283 不允许使用限定名
  4. 电脑手机用,现在手机配置这么高,处理器可以给电脑用吗?
  5. MVS文章持续更新中~
  6. 计算机课数据排序与筛选ppt,《计算机表格处理》PPT课件.ppt
  7. 将一维数据(序列)转化为二维数据(图像)的方法汇总GAFS, MTF, Recurrence plot,STFT
  8. 左外连接、右外连接、全连接
  9. 社工小组 计算机小组活动,社工小组活动方案.doc
  10. 移动通信网络频段大全