С sum()
оконной функцией:
select *,
cast(sum(col4) over (partition by col1 order by col3) as varchar) +
'/' +
cast(col3 as varchar) col5
from tablename
или если порядок определяется как date
:
select *,
cast(sum(col4) over (partition by col1 order by col2) as varchar) +
'/' +
cast(col3 as varchar) col5
from tablename
См. Демонстрационную версию . Результаты:
> col1 | col2 | col3 | col4 | col5
> :--- | :--------- | ---: | ---: | :---
> abc | 2019-03-20 | 1 | 1 | 1/1
> abc | 2019-03-21 | 2 | 0 | 1/2
> abc | 2019-03-22 | 3 | 1 | 2/3
> def | 2019-03-22 | 1 | 0 | 0/1
> def | 2019-03-23 | 2 | 1 | 1/2
> def | 2019-03-24 | 3 | 0 | 1/3