sql同比
㈠ 请教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%
㈡ SQL SEVER求和算同比
select月份,(SUM(casewhen年份=2015then出口量else0end)-SUM(casewhen年份=2014then出口量else0end))*100.0/SUM(casewhen年份=2014then出口量else0end)增长率百分比
from[hgsj].[dbo].[seamless]
where年份in(2014,2015)
groupby月份
㈢ 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