![](/img/trans.png)
[英]Finding difference between two consecutive enteries of a table using SQL query
[英]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.