Как написать запрос, чтобы посчитать процент от суммы записей группы?

Есть две таблицы со столбцами:

users(id, country_id)
orders(id, user_id, amount_usd)

Нужно написать запрос, который бы выводил: country_id, user_id и долю от дохода, полученную со страны регистрации пользователя (country_id):

Пример вывода:

country_id user_id percent
RU           12      6.33
BY           112     1.11
RU           632     2.51
UA           231     4.65

Ответы (1 шт):

Автор решения: Андрей Моциевич

Вот этот запрос соответствует задаче

    SELECT
    u.id,
    ROUND((o.amount_usd /SUM(o.amount_usd) OVER (PARTITION BY u.country_id))* 100,2) AS percent
    FROM users u
    JOIN orders o
    ON o.user_id = user_id
    GROUP BY
    u.id, u.country_id;
→ Ссылка