我有一个表格,其中包含开始日期(和时间),结束日期(和时间)值和标识符。
例如我可以有这样的行(我遗漏了breivety的日期值):
- id:5,开始:00:00,结束:12:00,价值:50
- id:6,开始:00:00,结束:08:00,价值:60
- id:7,开始:08:00,结束:20:00,价值:70
- id:8,开始:22:00,结束:23:00,价值:80
- id:9,开始:00:00,结束:24:00,价值:90
- id:10,start:05:00,end:07:00,value:100
然后,我想查询最佳(较小的id 是更好)匹配,这些匹配的值在00:00到24:00之间且不重叠其他
所以它会导致:
- 开始:00:00,结束:12:00,价值:50(来自id 5)
- 开始时间:12:00,结束时间:20:00,价值:70(来自身份证号码7,但裁剪不重叠前一场比赛)
- 开始:22:00,结束:23:00,价值:80(来自id 8)
- 开始时间:20:00,结束时间:22:00,价值:90(来自ID 9,但裁剪不重叠之前的匹配)
- 开始:23:00,结束时间:24:00,价值:90(再次从id 9开始,但裁剪不重叠以前的比赛)
- 此外,已有完整日期时间范围的值。
没有最小的时间单位(比如一小时),所以我无法生成一个"计数表"从00:00到24:00的值,并检索每个时间单位的最佳匹配(如00:00 - 01:00)。
无法保证有足够的值来填充日期时间范围。
我怎么能实现这个目标?