1. 请教Oracle计算同比和环比sql语句
首先明确概念:
环比增长率=(本期数-上期数)/上期数*100%反映本期比上期增长了多少。
同比增长率=(本期数-同期数)/同期数*100%指和去年同期相比较的增长率。
数据表名:d_temp_data
查询数据如下:
查询的sql语句如下:
selecta.*,
nvl(round(money/lag(money)over(orderbyid)*100,2),'0')||'%'"同比",
nvl(round(money/lag(money)over(partitionbymonorderbyid)*100,2),'0')||'%'"环比"
fromd_temp_dataa
idinameyearmonmoney同比环比
----------------------------------------------------------------------
1 1 飞马股 2013 01 300 0% 0%
2 2 飞马股 2013 02 270 90% 0%
3 3 飞马股 2013 03 350 129.63% 0%
4 4 飞马股 2013 04 180 51.43% 0%
5 5 飞马股 2013 05 500 277.78% 0%
6 6 飞马股 2013 06 400 80% 0%
7 7 飞马股 2014 01 210 52.5% 70%
8 8 飞马股 2014 02 240 114.29% 88.89%
9 9 飞马股 2014 03 320 133.33% 91.43%
10 10 飞马股 2014 04 480 150% 266.67%
11 11 飞马股 2014 05 400 83.33% 80%
2. SQL里怎么查询销售同比与环比
与上月比即为环比,与上年同月比即为同比
select sum(case when to_char(fdbs,'yyyy')-1 || to_char(fdbs,'MM‘) =年月参数 then sshje else 0 end ) 上年同期,sum(case when to_char(fdbs,'yyyy') || to_char(fdbs,'MM‘)-1 = 年月参数 then sshje else 0 end ) 上月销售额,sum(case when to_char(fdbs,'yyyy') || to_char(fdbs,'MM') = 年月参数 then sshje else 0 end ) 本月销售额
from retmls
3. 同比和环比是什么意思
同比:是指在相邻时段中的某一相同时间或阶段点进行比较。
本期同比增长(下降)率(%)=(本期发展水平-去年同期水平)/去年同期水平×100%(也叫同比增长速度)
本期同比发展速度=本期发展水平/去年同期水平×100%;
(1)如果计算值为正值(+),则称增长率;如果计算值为负值(-),则称下降率。
(2)如果本期指本日、本周和本月,则上年同期相应指上年同日、上年同周和上年同月。
环比:是指相邻时间段的对比。
本期环比增长(下降)率(%) = (本期数-上期数)/上期数×100% 反映本期比上期增长了多少(也叫环比增长或下降速度)
本期环比发展速度=(本统计周期数据/上统计周期数据)×100%,一般指是指报告期水平与前一时期水平之比,表明现象逐期的发展速度。在实际工作中,经常使用这个指标,如某年、某季、某月与上年同期对比计算的发展速度,就是同比发展速度。
(1)如果计算值为正值(+),则称增长率;如果计算值为负值(-),则称下降率。
(2)如果本期指本日、本周、本月和本年,则上期相应指上日、上周、上月和上年。
(3)sql同比和环比扩展阅读
同比和环比的区别:
在统计中,同比和环比用于表示某一事物在对比时期内发展变化的方向和程度。
以历史同期为基期,例如2016年2月份与2015年2月份、2016年上半年与2015年上半年的比较,就是同比。以前一个统计时间段为基期,例如2016年6月份与2016年5月份、2016年二季度与2016年一季度的比较,就是环比。
环比速度反应指标变化时,时效性强,比较灵敏。但对一些随着季节变化而波动的指标,在相邻两期进行比较时,无法避免季节因素的干扰,使得环比速度波动非常大,有时甚至连指标变动的方向都会发生变化。
同比速度由于是与上年同一时期相比,可以克服季节因素的干扰(在不同月份变动的节日除外)。
4. 求问Mysql同比环比SQL语句怎么写
首先明确概念:
环比增长率=(本期数-上期数)/上期数*100% 反映本期比上期增长了多少。
同比增长率=(本期数-同期数)/同期数*100% 指和去年同期相比较的增长率。
5. sql字段设计中如何实现同比环比功能
请将数据类型设置为 decimal 数据类型,设置时,注意数据精度。
6. 同比和环比是什么意思
同比:一般情况下是今年第n月与去年第n月比。同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平对比而达到的相对发展速度。如,本期2月比去年2月,本期6月比去年6月等。
环比:表示连续2个单位周期(比如连续两月)内的量的变化比。环比包括两种:环比增长速度和环比发展速度。
计算公式为:
1、同比发展速度的公式:同比发展速度=本期发展水平/去年同期水平×100%;同比增长速度=(本期发展水平-去年同期水平)/去年同期水平×100%。在实际工作中,经常使用这个指标,如某年、某季、某月与上年同期对比计算的发展速度,就是同比发展速度。
2、环比增长率=(本期数-上期数)/上期数×100%。 反映本期比上期增长了多少;环比发展速度,一般是指报告期水平与前一时期水平之比,表明现象逐期的发展速度。同比增长率=(本期数-同期数)/|同期数|×100%。
(6)sql同比和环比扩展阅读:
同比和环比,这两者所反映的,虽然变化速度,但由于采用基期的不同,其反映的内涵是完全不同的;环比与环比相比较,而不能拿同比与环比相比较;而对于同一个地方,考虑时间纵向上发展趋势的反映,则往往要把同比与环比放在一起进行对照。
环比就是现在的统计周期和上一个统计周期比较。环比上涨即当前统计周期比上一统计周期的上涨数量。
例如:某公司,今年3月份的销售额是300万,4月份的销售额是400万,去年3月份的销售额100万,那么其同比增长和怎么算呢。
同比增长率=(本期数-同期数)/同期数 *100%=(300-100)÷100=200%。在这里,同比增长率是指和去年同一月份相较的增长率。
环比增长速度=(本期数-上期数)/上期数*100%=(400-300)÷300=33.3%,主要是反映本期比上期增长了多少。
环比发展速度=本期数/上期数*100%=400/300=133.3%,主要是反映前后两期的发展变化情况;在这里,主要是指和上月的环比较。这就是同比与环比的区别和各自计算方法。
7. 同比和环比什么意思
同比:一般情况下是今年第n月与去年第n月比。同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平对比而达到的相对发展速度。
环比:表示连续2个单位周期(比如连续两月)内的量的变化比。环比包括两种:环比增长速度和环比发展速度。
同比和环比是两个不同的比较纬度。同比和环比,这两者所反映的虽然都是变化速度,但由于采用基期的不同,其反映的内涵是完全不同的;一般来说,环比可以与环比相比较,而不能拿同比与环比相比较;而对于同一个地方,考虑时间纵向上发展趋势的反映,则往往要把同比与环比放在一起进行对照。
拓展资料
同比和环比有什么区别
一、性质不同:
1、同比性质:今年第n月与去年第n月比。
2、环比性质:表示连续2个统计周期(比如连续两月)内的量的变化比。
二、算公式不同:
1、同比计算公式:同比增长率=(本期数-同期数)÷|同期数|×100
2、环比计算公式:环比增长率=(本期数-上期数)/上期数×100%。
三、同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平对比而达到的相对发展速度。如,本期2月比去年2月,本期6月比去年6月等。其计算公式为:同比发展速度=(本期发展水平-去年同期发展水平)/去年同期发展水平×100%在实际工作中,经常使用这个指标,如某年、某季、某月与上年同期对比计算的发展速度,就是同比发展速度。
四、环比分为日环比、周环比、月环比和年环比。环比发展速度是以报告期水平与其前一期水平对比(相邻期间的比较),所得到的动态相对数。表明现象逐期的发展变动程度。如计算一年内各月与前一个月对比,即2月比1月,3月比2月,4月比3月12月比11月,说明逐月的发展程度。
8. 同比和环比有什么区别哪个比较好
在日常生活中,我们经常会在统计时听到同比和环比这两个词汇,但究竟二者有什么区别却并不了解,那么接下来我们就将详细讲述同比与环比之间的区别.
举个例子来说,2018年第二季度收入与2017年第二季度收入进行比较,称为同比,而2018年第二季度收入与2018年第一季度收入进行比较,我们则一般称之为环比。
运用环比时,时间周期一般为月、日,很少应用在年度,因为其环比主要对比短期时间内的涨幅情况,与此同时,由于各类行业差距,比如旅游业会受到淡旺季影响,因此旅游业变化,我们一般用环比表示。
而同比一般则用在相邻两年中,选用相同时间周期内的数据进行纵向对比以观察数据涨幅情况。一般常用在两年相同时间周期内,比如季度或月份,很少用在两月的相同日期。
对于二者优势对比,具体而言如果是比较平稳的时期,则一般用同比更能反映出其真实情况,而在整体背景不算太好的前提下,尤其是跨年度时,采用环比更能直观反映回升状况。
通过上述分析,你明白二者之间的区别了吗?
9. sql字段设计中如何实现同比环比功能
select '上期' as '期间' ,sum(sl) sl,sum(je) je from subfhd where kdrq between '2016-06-01' and '2016-06-30'union select '本期' as '期间',sum(sl) sl,sum(je) je from subfhd where kdrq between '2016-07-01' and '2016-07-31'
10. 生手求教oracle同比和环比sql语句
substr(t.salarymonth, -2)) "同比",
sum(t.salary) /
(select sum(t1.salary)
from D_MONTH_SALARY t1
where t1.salarymonth =
to_char(to_date(t.salarymonth, 'yyyymm') - 1, 'yyyymm')) "环比"
from D_MONTH_SALARY t
group by t.salarymonth;