Задача на расчёт средней выручки от покупателей (PostgreSQL)
Задача:
Проверьте, какую выручку в среднем приносит каждый покупатель. Выгрузите общую сумму выручки, число уникальных покупателей (поле customer_id) и среднюю выручку на уникального пользователя для страны США.
Подсказка:
Функция AVG тут не поможет, ведь нужно посчитать среднюю выручку на каждого уникального пользователя, а не на всех. Выход — поделить одну агрегацию на другую, вот так: SUM(...)/COUNT(...). Для подсчёта уникальных покупателей используйте DISTINCT.
Код:
SELECT customer_id,
SUM(total),
SUM(DISTINCT(total))/COUNT(DISTINCT(customer_id))
FROM invoice
WHERE billing_country = 'USA'
GROUP BY customer_id