У меня есть успешный запрос, который возвращает некоторые данные для пользователя и категории (запрос сгруппирован по категории и пользователю)
который в основном показывает прогнозы для каждой категории на пользователя
select
user,
category,
sum(CatProjection) as CatProjection,
sum(CatProjection)/52 as WeekCatProjection
from projections
where user = 123
group by user, category
И это возвращает то, что я хочу / ожидаю:
USER | CATEGORY | CatProjection | WeekCatProjection
----------------------------------------------------------------
123 | CategoryA | 755000 | 14519
123 | CategoryB | 390000 | 7500
123 | CategoryC | 281250 | 5408
Проблема в том, что эти результаты сгруппированы по пользователю и категории, и теперь я хочу добавить два столбца, которые зависят от суммы CatProjection для этого пользователя, но не сгруппированы по категориям.
Итак, для нового значения TotalCatProjection я хочу добавить все значения CatProjection для этого пользователя. Затем я хочу использовать CatPercentage для деления WeekCatProjection на TotalCatProjection.
Так что теперь я ожидаю этих результатов:
USER | CATEGORY | CatProjection | WeekCatProjection | TotalCatProjection | CatPercentage
--------------------------------------------------------------------------------------------------------
123 | CategoryA | 755000 | 14519 | 27427 | 52.94
123 | CategoryB | 390000 | 7500 | 27427 | 27.35
123 | CategoryC | 281250 | 5408 | 27427 | 19.72
Как я могу получить эти 2 новых столбца, которые основаны только на USER, когда мой основной запрос сгруппирован по категории AND И пользователю?