2015-11-02 153 views
-2

我試圖計算存儲在MYSQL中的日期之間的天數,並考慮到了不同記錄中的不同日期範圍。計算MySQL中兩個日期條目之間的差異

下面是一個示例表:

tableID User  Start_Date End_Date 
------- ---- ---------- ---------- 
    1  111  2015-09-09 2015-09-15 
    2  111  2015-09-01 2015-09-02 
    3  111  2015-09-16 2015-09-21 

預期結果: 由於TABLEID 1和3具有連續天的結果應該是。 我不善於解釋事情,所以如果你沒有得到問題,請在下面評論。

+1

添加你試過的任何東西 –

+0

你的問題不清楚 – Wanderer

+0

如果我們有記錄像starte_date 2015-09-22和end_date 2015-09-30怎麼辦? –

回答

0

我可能會先將所有內容複製到臨時表中,然後移動不滿足end_date = start_date +1的記錄,然後運行其餘的記錄,更新它們以便所有序列的start_date和end_date都在同一記錄中

因此,像這樣:

Temp_table_1

tableID User  Start_Date End_Date 
------- ---- ---------- ---------- 
    1  111  2015-09-09 2015-09-15 
    2  111  2015-09-01 2015-09-02 
    3  111  2015-09-16 2015-09-21 
    4  111  2015-08-16 2015-08-21 
    5  111  2015-07-16 2015-07-21 

移動非順序記錄temp_2

Temp_table_1

tableID User  Start_Date End_Date 
------- ---- ---------- ---------- 
    1  111  2015-09-09 2015-09-15 
    3  111  2015-09-16 2015-09-21 

Temp_table_2

tableID User  Start_Date End_Date 
------- ---- ---------- ---------- 
    2  111  2015-09-01 2015-09-02 
    4  111  2015-08-16 2015-08-21 
    5  111  2015-07-16 2015-07-21 

鞏固記錄

Temp_table_1

tableID User  Start_Date End_Date 
------- ---- ---------- ---------- 
    x  111  2015-09-09 2015-09-21 

移動合併記錄溫度2,計算差異

Temp_table_2

tableID User  Start_Date End_Date Diff 
------- ---- ---------- ---------- ------ 
    2  111  2015-09-01 2015-09-02 2 
    4  111  2015-08-16 2015-08-21 5 
    5  111  2015-07-16 2015-07-21 5 
    x  111  2015-09-09 2015-09-21 11 

看一看,嘗試寫一個程序,並更新你的問題,要求更如果你卡住了,請幫忙。

+0

我會試試這個!謝謝你的幫助,對不起,我不擅長解釋問題。 – user3797088

+0

練習完美無缺,嘗試的努力往往會得到回報。 – JoSSte