Мне необходимо вывести топ 3 товара по выручке и их долю в общей выручке. Чтобы рассчитать долю, я пытаюсь применить оконную функцию:
SELECT "Items"."itemId", sum(price) / sum(price) OVER ()
FROM
"Items"
INNER JOIN "Purchases" USING("itemId")
GROUP BY "Items"."itemId"
, но выдает следующую ошибку:
ERROR: ОШИБКА: столбец "Items.price" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции
LINE 10: SELECT "Items"."itemId", sum(price) / sum(price) OVER ()
^
SQL state: 42803
Character: 332
Не могу понять, в чем проблема. Почему я должен в группировку отправить "Items".price?