substr(t.salarymonth, -2)) "同比",
10年積累的網(wǎng)站設計制作、成都網(wǎng)站制作經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設流程,更有阜康免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
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)比 肯定要出累計值 這個事沒話說的! 所以只能出到最細粒度的累積表 增量的最好! 這樣統(tǒng)計數(shù)據(jù)就比較靈活準確性也較高
一、用視圖:
表只要兩個字段就行
pk_period datetime
2451971 2009-02-12
2451978 2009-01-12
2451983 2008-02-12
再建個視圖多加兩個字段period_tb、period_hb就可以了
pk_period datetime period_tb period_hb
2451971 2009-02-12 2451983 2451978
2451978 2009-01-12 null null
2451983 2008-02-12 null null
二、用程序(各種高級語言;Oracle的觸發(fā)器、函數(shù)等)實現(xiàn)
表還是四個字段pk_period datetime period_tb period_hb
每次添加、修改記錄后(1、2的選擇看你實際情況)
1、查找該條記錄的 環(huán)比時間和同比時間記錄,找到后將這兩條記錄(如果有)的主鍵值更新到這兩個字段中
2、搜索整張表所有period_tb\period_hb字段值為null的記錄,再用 1 的方法循環(huán)更新
select 本月值, (本月值-上月值)/上月值 本月值環(huán)比
select 本月值, (select t3.本月值 from tb,ta t3 where ta.本月日期 = tb.本月日期 and tb.上月日期 = t3.本月日期) as 上月值
from ta
) aaa