我可能会先将所有内容复制到临时表中,然后移动不满足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
看一看,尝试写一个程序,并更新你的问题,要求更如果你卡住了,请帮忙。
添加你试过的任何东西 –
你的问题不清楚 – Wanderer
如果我们有记录像starte_date 2015-09-22和end_date 2015-09-30怎么办? –