簡體   English   中英

發現兩個連續月數據之間的差異

[英]finding difference between two consecutive month data

我有一個表-month_score,其中包含以下列-

1個月
2年
3.start_date-這是每個月記錄分數的第一個日期。
4.score。

數據表會像

'Jan''2012''2012-01-02''35'
'Feb''2012''2012-01-02''65'
'Mar''2012''2012-01-02''55'
'Apr''2012''2012-01-02''35'
'五月''2012''2012-01-02''55'
'六月''2012''2012-01-02''25'
'七月''2012''2012-01-02''85'
'八月''2012''2012-01-02''105'
'Sep''2012''2012-01-02''95'
'十月''2012''2012-01-02''45'
'十一月''2012''2012-01-02''85'
'十二月''2012''2012-01-02''25'
'Jan''2013''2012-01-02''65'




取決於

'十二月''2014''2012-01-02''35'

我需要創建一個視圖來提取兩個連續得分之間的差異,例如

'Jan''2012''2012-01-02''35''35'
'Feb''2012''2012-01-02''65''30'
'Mar''2012''2012-01-02''55''-10'

雖然我一年可以做到這一點,但是當年份改變時就會出現問題。

假設start_date確實是每個月的第一個日期,則使用自連接:

select t.*, t.score - tprev.score
from table t left join
     table tprev
     on year(t.start_date) * 12 + month(t.start_date) =
        year(tprev.start_date) * 12 + month(tprev.start_date) + 1;

您可以對月份名稱執行類似的操作,但是邏輯復雜得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM