Если после значения в столбце Amount будут пустые ячейки (как вы сказали в вопросе), вы можете использовать ROW_NUMBER (), чтобы получить уникальный номер в cte, а затем вычислить сумму (упорядочить по новым уникальным числам) для каждой строки ( будет одинаковым для одной суммы). И, наконец, используя cte в FOR XML PATH ().
--getting Sum as unique for every sequence (Amount and following values)
with cte AS
(
select Id,Amount,Number,sum(Amount)over(order by Number rows unbounded preceding)SumSeq,comment
from
(
select Id,Amount,comment,
row_number()over(order by Id)Number from Table
)x
)
select id,max(Amount),ConcatComments from
(
select id,SumSeq,Amount,
stuff((select Concat(',',comment)
from cte cte1 where cte1.SumSeq=cte2.SumSeq
for xml path('')),1,2,'') ConcatComments from cte cte2
)Z
group by SumSeq,id,ConcatComments