mysql 计算同比、环比,查询结果拼接成列、行、

一、理论

国家统计局同比、环比计算公式
增长速度是反映经济社会某一领域发展变化情况的重要数据,而同比和环比是反映增长速度最基础、最核心的数据指标,也是国际上通用的指标。在统计中, 同比和环比通常是同比变化率和环比变化率的简称,用于表示某一事物在对比期内发展变化的方向和程度。

一、同比基本概念

同比是以上年同期为基期相比较,即本期某一时间段与上年某一时间段相比, 可以理解为今年第 n 月与去年第 n 月的比较。如,2019 年 12 月份与 2018 年 12 月份相比较,2019 年上半年与 2018 年上半年相比较就是同比。同比增长率是指本期和上一年同期相比较的增长率,计算公式为:同比增长率=(本期数-同期数)/同期数×100%。例如,某公司 2019 年上半年利润 3000 万元,为本期数, 同期数就是 2018 年上半年的利润 2000 万元,同比增长率为(3000 - 2000)/ 2000×100% = 50%,即某公司 2019 年上半年利润同比增长 50%。

二、环比基本概念

环比是与上一个相邻统计周期相比较,表明统计指标逐期的发展变化 , 可以理解为第 n 月与第 n-1 月的比较。如,2019 年 12 月份与 2019 年 11 月份相比较,2019 年 1 月份与 2018 年 12 月份相比较就是环比。环比增长率是指本期和上期相比较的增长率,计算公式为:环比增长率 =(本期数-上期数)/上期数 ×100%。例如,某公司 2019 年 6 月份营业额为 100 万元,为本期数,上期数就是 2019 年 5 月份营业额 80 万元,环比增长率为(100 - 80)/ 80×100% =25%,即某公司 2019 年 6 月份营业额环比增长 25%。

三、同比和环比的应用

环比侧重反映数据的短期变化。用环比增长速度反映指标变化时,时效性强, 比较灵敏。比如,对居民消费价格指数(CPI)的环比涨跌幅进行分析,可以判断短期内物价变化的方向(上升或下降)。环比的不足之处是,对一些随着季节变化而波动的指标,将当期的数据直接与上期相比时,容易受到季节因素的干扰, 使得用其反映的增长速度波动往往较大。比如,由于“双十一”促销影响,11 月份网上零售额相比 10 月份增加较多,而 12 月份网上零售额相比 11 月份会减少较多,相应地,11 月份的环比增长速度会比较高,而 12 月份的环比增长速度就可能是负的,但这并不能说明网上零售额发生了趋势性变化。所以进行环比计算之前一般需要先把经济指标变动中的季节性因素剔除掉,即进行季节调整后,再计算环比增长速度。

同比相对于环比,侧重反映长期趋势,能够一定程度上克服季节性波动的影响。比如,同样是“双十一”促销,使用同比增长速度,10 月、11 月、12 月的波动不会像环比波动那样大,主要由于上年与今年11 月“双十一”促销因素均存在。但另一方面,同比增长速度的缺点是易于受基期因素影响,比如,上年基期受灾害影响,数据波动大,而今年同期未受灾害影响,则同比增长速度会表现出波动变化。

总之,同比和环比所反映的虽然都是变化速度,但由于对比基期不同,反映的内涵完全不同。一般来说,环比可以与环比相比较,而不能拿同比与环比相比较。但是,对于同一个领域,当既要考虑历史发展趋势,又要考虑短期变化时,则应把同比与环比放在一起进行对照分析。

来源:国家统计局 (撰稿:付凌晖 沈丽文)

行SQL

SELECTMAKEDATE(now.report_year,1) AS report_time,SUM( now.report_value ) AS totalProfit,now_sub_query.operatingRevenue AS operatingRevenue,( SUM( now.report_value ) / now_sub_query.operatingRevenue )* 100 AS "利润率" 
FROMcompany_target_report nowINNER JOIN ( SELECT report_year, SUM( report_value ) AS operatingRevenue FROM company_target_report WHERE company_calculate_name = '' AND target_calculate_name = 'operatingRevenue' AND report_year = '${report_year}' GROUP BY report_year ) now_sub_query ON now.report_year = now_sub_query.report_year 
WHEREnow.company_calculate_name = '' AND now.target_calculate_name = 'totalProfit' AND now.report_year = '${report_year}' 
GROUP BYnow.report_year,now_sub_query.operatingRevenue
UNION ALL
SELECTMAKEDATE(now.report_year,1) AS report_time,SUM( now.report_value ) AS totalProfit,now_sub_query.operatingRevenue AS operatingRevenue,( SUM( now.report_value ) / now_sub_query.operatingRevenue )* 100 AS "利润率" 
FROMcompany_target_report nowINNER JOIN ( SELECT report_year, SUM( report_value ) AS operatingRevenue FROM company_target_report WHERE company_calculate_name = '' AND target_calculate_name = 'operatingRevenue' AND report_year = '${report_year}'-1 GROUP BY report_year ) now_sub_query ON now.report_year = now_sub_query.report_year 
WHEREnow.company_calculate_name = '' AND now.target_calculate_name = 'totalProfit' AND now.report_year = '${report_year}'-1
GROUP BYnow.report_year,now_sub_query.operatingRevenue;

在这里插入图片描述

SELECTnow_data.report_time,now_data.company_calculate_name,now_data.now_totalProfit,before_data.before_totalProfit ,((now_data.now_totalProfit - before_data.before_totalProfit) / before_data.before_totalProfit) * 100 AS "increase_rate"
FROM(SELECTMAKEDATE(now_query.report_year,1) AS report_time,now_query.company_calculate_name,SUM( report_value ) AS "now_totalProfit" FROMcompany_target_report now_query WHEREnow_query.company_calculate_name = '' AND now_query.target_calculate_name = 'totalProfit' AND now_query.report_type = '月' AND now_query.report_year = 2023GROUP BYnow_query.report_year ) AS now_dataINNER JOIN (SELECTbefore_query.company_calculate_name,SUM( report_value ) AS "before_totalProfit" FROMcompany_target_report before_query WHEREbefore_query.company_calculate_name = '' AND before_query.target_calculate_name = 'totalProfit' AND before_query.report_type = '月' AND before_query.report_year = 2023-1GROUP BYbefore_query.report_year ) AS before_data ON now_data.company_calculate_name = before_data.company_calculate_name;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手把手教会你--渗透实战--最开始的靶机演示--项目二:Lampiao

有什么问题,请尽情问博主,QQ群796141573 前言。。。知识1.1 开头介绍1.2 22/80端口1.3 nmap1.4 IP地址1.5 开启靶机--网络模式1.6 信息收集(1) 查看源代码(2) 查看常见漏洞(3) 随便点一点\改一改 1.7 robots.txt。。。实战1.1 确定目标(1) 查看自己的ip地…

UData+StarRocks在京东物流的实践 | 京东物流技术团队

1 背景 数据服务与数据分析场景是数据团队在数据应用上两个大的方向,行业内大家有可能会遇到下面的问题: 1.1 数据服务 烟囱式开发模式:每来一个需求开发一个数据服务,数据服务无法复用,难以平台化,技术…

1146:吃糖果(C语言)

题目描述 HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢连续两次吃一样的糖果,喜欢先吃一颗A种类的糖果,下一次换一种口味,吃一颗B种类的糖果,这样&…

【电路笔记】-快速了解电阻

快速了解电阻 文章目录 快速了解电阻1、概述2、电阻器的组成类型2.1 碳电阻器2.2 薄膜电阻器2.3 绕线电阻器 3、总结 电阻器是所有电子元件中最基本、最常用的元件,人们几乎认为电阻器是理所当然的,但它们在电路中起着至关重要的作用。 1、概述 有许多不…

pycharm安装PyQt5及其工具

PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程_pycharm pyqt5-CSDN博客 上面是原文链接,根据原文链接,我重新记录一下。IDE:pycharm 2023.2.5 一共需要安装5个。 在PyCharm中如何完整优雅地安装配置…

开源四轴协作机械臂ultraArm激光雕刻技术案例!

注意安全事项 开始之前,请确保您已采取适当的安全措施,例如用于激光操作的防护眼镜、灭火器和通风良好的区域。 引言 随着科技的不断进步,激光雕刻技术已经成为当今制造行业中不可或缺的一部分。它以其高精度、高效率和广泛的材料适应性&…

医学影像PACS源码:PACS系统的基础知识(DICOM、HL7、SWF)

1、PACS PACS是Picture Archiving and Communication Systems首字母缩写,全称为影像储存和传输系统,涉及放射医学、计算机技术、通讯技术及数字图像技术等,是医院信息系统的重要组成部分,是将数字医疗设备(如X线、CT、MRI、超声、…

linux shell操作 - 05 进程 与 IO 模型

文章目录 计算机内存分配进程与子进程流IO模型非阻塞IOIO多路复用网络IO模型简单的socket并发的socket 计算机内存分配 一个32位,4G内存的计算机,内存使用分为两部分: 操作系统内核空间;应用程序的用户空间使用的操作系统不同&a…

信奥编程 1168:大整数加法

解析:在c中需要考虑这么几个问题,第一个是大数据的输入,第二个是大数据的存储,第三是大数据的计算方式,最后是输出。 针对上述几个问题,第一个问题,采用字符串的方式或者数组加循环的方式接收输…

抖音团购小程序怎么开通?怎么做抖音团购?

餐饮同行们已经纷纷上架了抖音团购服务,还没入局的商家还在等待什么呢?如果你还没有抓住这个流量的红利期,那就真的OUT了!为了在这个竞争激烈的市场中脱颖而出,建议你尽快行动起来,打造一个属于自己的抖音团…

C#实体类与XML互转以及List和DataTable转XML的使用

引言 在C#开发中,数据的存储和传输是非常常见的需求。使用XML作为数据格式有很多优点,例如可读性强、易于解析等。而实体类、List和DataTable是表示数据模型的常用方式。本文将介绍如何在C#中实现实体类、List和DataTable与XML之间的相互转换&#xff0c…

【数据结构—单链表的实现】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 链表的概念及结构 2. 单链表的实现 2.1单链表头文件——功能函数的定义 2.2单链表源文件——功能函数的实现 2.3 单链表源文件——功能的测试 3.具体的理解操作…

二叉树OJ题讲解之一

今天我们一起来做一道初级的二叉树OJ题,都是用递归思想解答 力扣965.单值二叉树 链接https://leetcode.cn/problems/univalued-binary-tree/description/ 所谓单值二叉树就是这棵二叉树的所有节点的值是相同的,那我们要做这道题,肯定要…

适用于iOS 的顶级苹果数据恢复软件

数据丢失可能随时发生在任何人身上,这可能是一种令人沮丧的经历。丢失 iOS 设备上的重要数据可能会造成特别严重的损失,因为其中可能包括有价值的照片、联系人、消息和其他重要文件。幸运的是,有多种数据恢复工具可以帮助用户恢复丢失的数据。…

Python基础:推导式(Comprehensions)详解

1. 推导式概念 Python推导式(comprehensions)是一种简洁而强大的语法,用于从已存在的数据(列表、元组、集合、字典等)中创建新的数据结构。推导式包括: 列表推导式元组推导式字典推导式集合推导式 2. 列表…

Vue 实现低代码开发平台,没想到这么好用!

前言 在众多开发技术中,Vue 组件化开发技术以其卓越的灵活性和高效性备受瞩目。 低代码平台相信不少人知道它的存在,而且现在大部分公司都在开发自己的低代码平台,首先我们来看看低代码平台可视化界面: 官网:https:/…

跨标签页通信的8种方式(下)

跨标签页通信是指在浏览器中的不同标签页之间进行数据传递和通信的过程。在传统的Web开发中,每个标签页都是相互独立的,无法直接共享数据。然而,有时候我们需要在不同的标签页之间进行数据共享或者实现一些协同操作,这就需要使用跨…

1233:单词倒置(C语言)

题目描述 最近birdfly收到了女友的几份信件,为了只要他俩知道信件的秘密,女友把信件里的每个单词都倒置了。这样只有birdfly将它们倒置过来才能明白女友的心思了。为此birdfly还特意请你编写程序帮他解决一下这个问题。 简单起见假定每封信只包含英文单词…

DDD全网最通俗易懂讲解(一)

基础概念 领域 领域就是用来确定范围的,范围即边界,这也是DDD在设计中不断强调边界的原因。简言之,DDD的领域就是这个边界内要解决的业务问题域。领域可以进一步划分为子领域。一个领域相当于一个问题域,领域拆分为子域的过程就…

详解二叉树

【本节目标】 1.树的概念和结构 2.二叉树的概念和结构 3.二叉树的顺序结构及实现 4.二叉树的链式结构及实现 1.树的概念及结构 1.1树的概念 树是一种非线性的数据结构,它由一个根结点和n(>0)个子树构成,之所以叫做树,是因为它很像生活…