Вы можете достичь этого хотя бы в MYSQL:
create table teadata(Type varchar(1), value number);
insert into teadata(Type, value) values('A', 3);
insert into teadata(Type, value) values('A', 3);
insert into teadata(Type, value) values('A', 3);
insert into teadata(Type, value) values('B', 3);
insert into teadata(Type, value) values('B', 2.3);
select type, value, (@sum := @sum + (case when value = 3 then 1 else 0 end)) as cumesum
from teadata t cross join (select @sum := 0) params;
Это напечатает:
+------+-------+---------+
| type | value | cumesum |
+------+-------+---------+
| A | 3 | 1 |
| A | 3 | 2 |
| A | 3 | 3 |
| B | 3 | 4 |
| B | 2.3 | 4 |
+------+-------+---------+
Хитрость в этом случае заключается в использовании переменной @sum вместе с оператором case. Это работает на MySQL. Не уверен насчет Терадаты.