MySql 计算同比、环比

news2024/11/15 20:26:06

一、理论

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

一、同比基本概念

同比是以上年同期为基期相比较,即本期某一时间段与上年某一时间段相比, 可以理解为今年第 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

SELECT
	report.target_calculate_name,
	SUM( report.report_value ) AS "now",
	SUM( before_year.report_value ) AS "before",
	( (SUM( report.report_value ) - SUM( before_year.report_value )) / SUM( before_year.report_value ))* 100 AS "同比" 
FROM
	company_target_report AS report
	INNER JOIN (
	SELECT
		target_calculate_name,
		report_value,
		report_time,
		report_year,
		report_month 
	FROM
		company_target_report 
	WHERE
		company_calculate_name = "" 
		AND target_type = "经营业绩指标" 
		AND report_type = "月" 
		AND report_year = '${report_year}'-1
		AND del_flag = "0" 
	) AS before_year ON report.report_month = before_year.report_month 
	AND report.target_calculate_name = before_year.target_calculate_name 
WHERE
	report.company_calculate_name = "" 
	AND report.target_type = "经营业绩指标" 
	AND report.report_type = "月" 
	AND report.report_year = '${report_year}'
	AND report.del_flag = "0" 
GROUP BY
	report.target_calculate_name;

在这里插入图片描述

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

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

相关文章

二百零四、Flume——登录监听窗口报错Ncat: bind to :::44444: Address already in use. QUITTING.

一、目的 Flume安装好后测试开启监听窗口44444,结果报错Ncat: bind to :::44444: Address already in use. QUITTING. 二、报错详情 Ncat: bind to :::44444: Address already in use. QUITTING. 三、报错原因 经过分析发现,44444窗口已经被占用 […

sqli-labs(3)

11. 看到登录框直接or 11 在hackerabar中我们可以看到这里是post传递的数据,在get中用--来注释后面的内容 因为get中#是用来指导浏览器动作的,--代表注释是空格,所以这里用# 之后就和get的一样了 1 order by 2 # order by 3报错 联合注入 …

【5k字长文 | Vue学习笔记】#1 认识Vue对象和基础语法

Vue是一个非常流行的渐进式JavaScript框架,渐进式指的是自底向上,从小组件逐渐向上构成整个项目,渐进式还可以理解为:用什么就拿什么,每个组件只做自己的事,尽可能解耦合。 本节我们将学习简单的Vue实例&a…

渗透测试高级技巧(一):分析验签与前端加密

“开局一个登录框” 在黑盒的安全测试的工作开始的时候,打开网站一般来说可能仅仅是一个登录框;很多时候这种系统往往都是自研或者一些业务公司专门研发。最基础的情况下,我们会尝试使用 SQL 注入绕过或者爆破之类的常规手段,如果…

【文末送书】十大排序算法C++代码实现

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

数独·12中解法·anroid 数独小游戏·休闲益智小游戏

标题数独12中解法anroid 数独小游戏休闲益智小游戏(继续更新中……) 一款经典数独训练app 资源下载 (0积分)https://download.csdn.net/download/qq_38355313/88544810 —— —— 数独(sh d)是源自18世纪…

Find My音箱|苹果Find My技术与音箱结合,智能防丢,全球定位

音箱市场规模正在不断扩大。随着人们生活品质的提高,对音乐体验的需求也在不断升级。消费者对于蓝牙音箱的需求,已经从单纯的音质扩展到了功能、设计和价格等多个方面。随着移动化、即时化的视听娱乐需求的增长,蓝牙音箱性能、质量、外观设计…

定时器的使用

目录 前言 正文 1.方法 schedule(TimerTask task, Date time) 的测试 (1)执行任务的时间晚于当前时间(在未来执行)的效果 (2)线程TimerThread不销毁的原因 (3)使用 public void cancel() 方法实现 T…

Java 下载地址

1 地址: Java Downloads | Oracle 2 往下翻(Java 8 和 Java 11) 3 往下翻 (JRE 下载)(JRE 8 为例) 4 跳转到登录(登录账号才可以下载)

Flink Operator 使用指南 之 Flink Operator安装

介绍 Flink Kubernetes Operator 充当控制平面来管理 Apache Flink 应用程序的完整部署生命周期。尽管 Flink 的Native Kubernetes 集成已经允许用户在运行的 Kubernetes(k8s) 集群上直接部署 Flink 应用程序,但自定义资源和Operator Pattern 也已成为 Kubernetes 原生部署体…

跑步耳机哪个牌子好?这五款跑步耳机闭眼入也不会错!

作为一个经常跑步运动的人,总感觉运动能够让人暂时远离城市的喧嚣,同时运动也是一种特别好的舒压方法。但跑步的时候如果没有音乐助燃,那是没有灵魂的,这也许就是现代年轻人的矫情吧,我在运动的时候经常会佩戴骨传导耳…

渗透测试高级技巧(二):对抗前端动态密钥与非对称加密防护

在前文的技术分享中,我们描述了验签和静态对称加密(静态密钥 AES)的常见场景,大家我相信遇到类似的加解密清醒,基本都可以通过热加载的基本使用获得破解前端加密解密的方法,达到一个比较好的测试状态。 在…

无法创建 8192 MB 的匿名分页文件: 系统资源不足,无法完成请求的服务。

好久没用VMware Workstation,今天突然要用,发现所有的虚机在启动的时候提示都提示: 无法创建 XXXX MB 的匿名分页文件:页面文件太小,无法完成操作。 未能分配主内存。 模块"MainMem"启动失败。 未能启动…

[计算机网络实验]头歌 实验二 以太网帧、IP报文分析

目录 第1关:Wireshark基本使用入门 【实验目的】 【实验环境】 【本地主机、平台虚拟机之间数据传递】 wireshark基本用法】 1、wireshark主界面 2、抓取分组操作 3、Wireshark窗口功能 4、筛选分组操作 【实验操作】 ​编辑 第2关:Ethernet帧…

排序算法--冒泡排序

实现逻辑 ① 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ②对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 ③针对所有的元素重复以上的步骤,除了最后一个。 ④…

怎么判断list是否为null

List<Entity> baseMess new ArrayList<>(); baseMess motiveService.getBaseMessage(machine.get(i),preDate,nowDate); System.out.println("获取Size"baseMess.size()); baseMess.removeIf(Objects::isNull); System.out.println("获取Size"…

NV080D语音芯片:让智能快递柜取件更便利

随着互联网的普及和电子商务的迅速发展&#xff0c;网购消费已经成为了越来越多人的选择。这也催生了一个庞大的“网购一族”&#xff0c;他们购买的各种商品会通过快递公司送到家门口。然而&#xff0c;收取快递往往也伴随着一系列问题。比如&#xff0c;派送时间和收件人取件…

使用Echarts.js绘制中国地图

使用Echarts.js绘制中国地图 一、页面效果 二、功能描述 ​ 1、展示中国所有省份&#xff0c;包括南海诸岛&#xff0c;确保领土完整&#xff0c;中国领土神圣且不可侵犯。 ​ 2、每个省份根据对应数据的不同渲染不同的颜色&#xff0c;根据数据从小到大&#xff0c;对应底部…

maven pom引入依赖不报红,但是项目Dependencies中没有引入jar包

前言 小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注一下&#xff01; 也许一个人独行&#xff0c;可以走的很快&#xff0c;但是一群人结伴而行&#xff0c;才能走的更远&#xff01;让我们在成长的道路上互相学习&…