Der er et trick til at gøre dette. Hvis du trækker en stigende talrække fra datoerne, vil de være konstante for datoer, der er sekventielle. Vi kan derefter bruge dette til at definere grupper for hver udvikler.
select developer, max(numdays) as maxseq
from (select developer, grp, min(MRDate) as MR_start, max(MRDate) as MR_end,
count(distinct MRDate) as numdays
from (select t.*,
(MRDate - dense_rank() over (partition by developer order by date)) as grp
from t
) t
group by developer, grp
) t
group by developer;
Hvis du ved, at der højst er én post pr. dato, kan du bruge row_number()
i stedet for dense_rank()
og count(*)
i stedet for count(distinct MRDate)
.