2015-11-02 132 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

相关问题