我有一个表,如下所示:
------------------------------------------------------------------------
| Base | Shift | Start_date | End_date | Driver |
| ------- | ------ | ------------------- | ------------------- | ------- |
| 390 | 46 | 2017-05-26 10:20:00 | 2017-05-26 11:35:00 | 3 |
| 378 | 46 | 2017-05-26 10:26:00 | 2017-05-26 11:40:00 | 3 |
| 367 | 46 | 2017-05-26 10:05:00 | 2017-05-26 11:30:00 | 3 |
| 350 | 46 | 2017-05-26 13:40:00 | 2017-05-26 14:30:00 | 3 |
| 340 | 45 | 2017-05-25 11:10:00 | 2017-05-25 12:30:00 | 3 |
| 351 | 45 | 2017-05-25 11:10:00 | 2017-05-25 12:30:00 | 3 |
| 656 | 45 | 2017-05-25 09:00:00 | 2017-05-25 10:40:00 | 10 |
| 456 | 45 | 2017-05-25 09:10:00 | 2017-05-25 10:10:00 | 10 |
| 56 | 45 | 2017-05-25 08:00:00 | 2017-05-25 11:50:00 | 10 |
------------------------------------------------------------------------
每个班次都对应于特定的一天。我想计算同一班次内每个司机的时间间隔比例重叠之和。结果输出应如下所示。一个例子可能有助于理解我正在寻找的结果:
表格输出:
----------------------------------------------------
| ID | Shift | Sum_Overlap_Proportions | Driver |
| ----- | ------ | ----------------------- | ------- |
| 390 | 46 | 1.853 | 3 |
| 378 | 46 | 1.797 | 3 |
| 367 | 46 | 1.58 | 3 |
| 350 | 46 | 0 | 3 |
| 340 | 45 | 1 | 3 |
| 351 | 45 | 1 | 3 |
| 656 | 45 | 1.6 | 10 |
| 456 | 45 | 2 | 10 |
| 56 | 45 | 0.696 | 10 |
----------------------------------------------------
接受这方面的帮助会很棒。我没有足够的SQL技能来解决这个问题。
感谢您的帮助。