很簡單的,記得給分啊,不給分以后就不給你解答了,你到網(wǎng)上查詢一下oracle有個叫l(wèi)ag的內(nèi)置函數(shù),把結(jié)果集排序以后通過lag函數(shù)取得相應(yīng)的位移就知道你的同比和環(huán)比的結(jié)果了,我看你的結(jié)果集中是每月一條記錄,則同比是位移12,環(huán)比是位移1。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站建設(shè)、石阡網(wǎng)絡(luò)推廣、小程序開發(fā)、石阡網(wǎng)絡(luò)營銷、石阡企業(yè)策劃、石阡品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供石阡建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
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')) "環(huán)比"
from D_MONTH_SALARY t
group by t.salarymonth;
首先明確概念:
環(huán)比增長率=(本期數(shù)-上期數(shù))/上期數(shù)*100%?反映本期比上期增長了多少。
同比增長率=(本期數(shù)-同期數(shù))/同期數(shù)*100%?指和去年同期相比較的增長率。
數(shù)據(jù)表名:d_temp_data?
查詢數(shù)據(jù)如下:
查詢的sql語句如下:
select?a.*,
nvl(round(money/lag(money)?over(order?by?id)*100,2),'0')||'%'?"同比",
nvl(round(money/lag(money)?over(partition?by?mon?order?by?id)*100,2),'0')||'%'?"環(huán)比"
from?d_temp_data?a
id????iname???year???mon???money???同比???環(huán)比
----------------------------------------------------------------------
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%