我如何为以下内容撰写查询。
我有像
这样的数据id eff date term date
C 20000101 20050228
C 20000501 20120229
C 20060101 20120301
我需要检查连续资格,如果连续我需要摆脱其他记录。对于上面的例子,我需要输出为
id Eff date Term date
C 20000101 20120301
我需要删除重叠范围。在上面的例子中,我有重叠的资格范围。如果我有另一个输入记录(第4个)说C 20130101 20130531然后我的输出应该是两个记录。 C 20000010 20120301和C 20130101 20130531
答案 0 :(得分:0)
我不确定持续资格的业务规则 - 但不知道是否会这样做:
SELECT id, min(Eff_date), max(Term_date)
FROM my_table
GROUP BY id