我有一些巨大的值和日期表,我想使用运行长度编码对其进行压缩。(对我来说)最明显的方法是选择所有不同的值组合,以及最小和最大日期。这样做的问题是它会错过任何映射停止然后重新开始的实例。
Id | Value1 | Value2 | Value3 | DataDate
------------------------------------------
01 | 1 | 2 | 3 | 2000-01-01
01 | 1 | 2 | 3 | 2000-01-02
01 | 1 | 2 | 3 | 2000-01-03
01 | 1 | 2 | 3 | 2000-01-04
01 | A | B | C | 2000-01-05
01 | A | B | C | 2000-01-06
01 | 1 | 2 | 3 | 2000-01-07
将以这种方式编码为
Id | Value1 | Value2 | Value3 | FromDate | ToDate
-----------------------------------------------------
01 | 1 | 2 | 3 | 2000-01-01| 2000-01-07
01 | A | B | C | 2000-01-05| 2000-01-06
这显然是错误的。
我想要的是一个查询,它将返回每组值存在的每组连续日期。
或者,如果我向后看这个屁股,任何其他建议都将不胜感激。