Порядок строк, которые будут обновлены, не предопределен, поэтому вам нужно 2 оператора обновления: 1-й обновит строку с типом = 'b', а 2-й строки с типом = 'a':
update accounts
set value = value - (select sum(0.01 * value) from accounts where type = 'a')
where type = 'b';
update accounts
set value = 1.01 * value
where type = 'a';
См. Демоверсию . Результаты:
| type | value |
| ---- | ----- |
| a | 101 |
| a | 202 |
| a | 303 |
| b | 94 |