This can be solved by aggregating first and joining to the result of the aggregation:
SELECT c.name as campaign_name,
o.name as organization_name
select "campaignId", sum(amount) as total_amount
group by "campaignId"
JOIN campaigns c ON c.id = d."campaignId"
Unless I have misunderstood, the desired output is the username, game, total number of items bought, and total price paid for the items. This can be obtained by counting the items and summing the price, like so:
, COUNT(i.[Name]) AS [Items Count]
, SUM(i.Price) AS [Items Price]
FROM UsersGames ...