注意:我在受限制的环境中工作,使用其他工具不是一种选择。
我有一个表,根据下面的CREATE TABLE语句。 Start
和End
代表朱利安日期格式中的日期,这些格式构成Id
Value
CREATE TABLE ObjectValues ("Id" INTEGER, "Value" INTEGER, "Start" REAL, "End" REAL);
的日期范围(包括)。
Start
首先,该表格中填充的记录可能会为每个End
重叠[Id
,Id
]个时间间隔。我想为每个Value
创建一个包含非重叠记录的版本,优先考虑较低的Id
值。我还希望合并Value
的同一Id|Value|Start|End
1|1|2|4
1|3|3|8
1|3|3|9
2|2|1|9
1|2|6|7
的任何连续记录。
即
Id|Value|Start|End
1|1|2|4
1|3|5|5
1|3|8|9
2|2|1|9
1|2|6|7
应该成为:
{{1}}
我有一组实现此目的的查询。但它们相当复杂而且速度慢。我希望有人能提出一些好的想法或建议。