按照月份进行计算:

SELECT
D.YEARMONTH,
D.VALUE,
TO_CHAR(NVL(ROUND(DECODE(D.monthOnMonth,0,NULL,(D.VALUE - D.monthOnMonth )/D.monthOnMonth * 100),2), 0), 'fm9999999990.00') || '%' 环比增长率,
TO_CHAR(NVL(ROUND(DECODE(D.yearOnYear,0,NULL,(D.VALUE - D.yearOnYear)/D.yearOnYear * 100),2), 0),'fm9999999990.00')  || '%' 同比增长率
FROM (SELECTC.YEARMONTH,C.VALUE,LAG (C.VALUE, 1, 0) OVER (ORDER BY C.YEARMONTH) AS monthOnMonth,LAG (C.VALUE, 12, 0) OVER (ORDER BY C.YEARMONTH) AS yearOnYearFROM (SELECT A.YEARMONTH, NVL(B.VALUE, 0) VALUE FROM (SELECT TO_CHAR( ADD_MONTHS( TO_DATE( '202101', 'yyyyMM' ), ROWNUM - 1), 'yyyyMM') AS YEARMONTH FROM DUAL CONNECT BY ROWNUM <= months_between( to_date('202212', 'yyyyMM'), to_date( '202101', 'yyyyMM')) + 1) ALEFT JOIN(SELECT TO_CHAR(CYJSSJ, 'yyyyMM') YEARMONTH, NVL(COUNT(*), 0) VALUE FROM BA_JBXX WHERE TO_CHAR(CYJSSJ, 'yyyyMM') >=  202101 AND TO_CHAR(CYJSSJ, 'yyyyMM') <= 202212 GROUP BY TO_CHAR(CYJSSJ, 'yyyyMM') ORDER BY TO_CHAR(CYJSSJ, 'yyyyMM')) B ON A.YEARMONTH = B.YEARMONTH ORDER BY A.YEARMONTH) C
) D WHERE D.YEARMONTH >= 202001 AND D.YEARMONTH <= 202212

ORACLE——一条SQL计算同比、环比相关推荐

  1. 【Mysql实战】使用存储过程和计算同比环比

    背景 同环比,是基本的数据分析方法.在各类调研表中屡见不鲜,如果人工向前追溯统计数据,可想而知工作量是非常大的. 标题复制10行,并且每行大于10个字符[源码解析]SpringBoot接口参数[Mys ...

  2. Oracle如何根据一个日期计算同比环比的日期

    iamlaosong文 在写统计查询的SQL语句时,经常会碰到根据一个查询日期推演其它日期的问题,如同比.环比等. 1.字符串转换成日期:to_date('2016-6-16', 'yyyy-mm-d ...

  3. SQL计算日环比、周同比

    计算日环比.周同比 范例表格如下: 这是面试问到的一个问题,回来学习之后了解可以用这个函数: 计算日活的日环比,周同比: 代码如下: select date,dau,(dau-dau_1)/dau_1 ...

  4. 使用 SQL 实现同比环比分析

    场景描述 在做数据分析时,经常会需要展示同比和环比的数据,可以通过 SQL 来完成同比和环比的计算,再配合数据可视化工具进行展示,每个月都会自动展示当月数据与上月的对比(环比),以及当月数据与去年同期 ...

  5. java时间计算同比环比周的问题

    问题描述: 在业务中会有传不同日期格式, 1.有天(2020-02-29),周(2020-03第三周),月(2020-02二月份), 2.同时需要计算对应的去年同比时间和环比(就是上一个时间段,周的2 ...

  6. oracle一条sql运行时间很长,oracle查看执行最慢与查询次数最多的sql语句及其执行速度很慢的问题分析...

    oracle查看执行最慢与查询次数最多的sql语句 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻 ...

  7. oracle一条sql的执行过程,请问执行一条sql的整个过程是怎样的,谢谢!

    select count(*) into c from yaoyao_pbj where object_id=7559; select count(*) into c from yaoyao_pbj ...

  8. oracle多条sql语句常量,如何在Oracle中一次执行多条sql语句

    有时我们需要一次性执行多条sql语句,而用来更新的sql是根据实际情况用代码拼出来的 解决方案是把sql拼成下面这种形式: begin update TB_VG set seq = 1, vessel ...

  9. mysql:一条sql语句统计环比、同比

    有一个业务需求 统计各个景区的入园人数.销售额以及入园人数和销售额的同比 以月度为例子同比为例:环比类似 思路分析:表a首先统计出当月的入园人数.销售额,表b统计出同期的入园人数.销售额(在a的基础上 ...

最新文章

  1. TensorFlow反向传播算法实现
  2. httpsrequest java_java 发送http和https请求的实例
  3. 取input 输入_tensorRT动态输入(python)
  4. 《C语言解惑》—— 第一篇 C语言编程中的对与错
  5. 简历上的“熟练掌握 RPC”,到底是个什么水平?
  6. 在有原来的数据的情况下,恢复数据库的数据
  7. Hive数据据类型 DDL DML
  8. 2021年甘肃省高考成绩一分一段表查询,2021年甘肃高考一分一段表公布查询时间 什么时候出...
  9. json解析与序列化
  10. JAVA使用JCo连接SAP介绍-1
  11. Pytho爬虫-4567电影网电影信息爬取
  12. 2019最新activiti6.0工作流搭建平台
  13. 现代战争——僵尸网络的历史 上篇
  14. 铁匠smith_铁匠的大气散射
  15. [享学Eureka] 一、源生Eureka介绍 --- 基于注册中心的服务发现
  16. PC服务器硬盘故障处理
  17. 校聘云:人力行业的数据安全守夜人
  18. 师范类专业计算机和数学哪个好,师范类数学与应用数学专业考研考哪个方向好?是本专......
  19. 番茄助手 VS2015
  20. 无监督学习的12个最重要的算法介绍及其用例总结

热门文章

  1. app消息推送(ios/android)基础知识
  2. 用rankn()等概率生成1~m的通用方法
  3. HCI实验spss数据分析
  4. 如何识别图片中的表格数据
  5. Oracle存储空间管理
  6. 下载FATSQ,读取10条序列并计算每条序列的长度和GC含量
  7. RESTORE 还原数据库
  8. 【JVM · 字节码】指令集 解析说明
  9. 三季度高歌猛进,广告主为何向微博平台迁移?
  10. 新电脑 安装idea迁移设置和插件注意事项