Матвей Гришин
Гуру
(2556)
1 год назад
В вашем запросе вы считаете количество уникальных заказов (COUNT(DISTINCT order_id)), а не уникальных пользователей. Чтобы посчитать уникальных пользователей, нужно использовать поле customer_id. Также необходимо добавить условие, чтобы выбрать только тех пользователей, которые сделали хотя бы один заказ в этом месяце.
Вот исправленный код запроса:
sql
Copy code
SELECT DATE_TRUNC('month', order_date):: DATE AS month,
COUNT(DISTINCT customer_id) AS unique_users
FROM northwind.orders
WHERE order_date >= DATE_TRUNC('month', order_date)
GROUP BY 1
Здесь мы используем функцию DATE_TRUNC для приведения даты заказа к месяцу, затем считаем количество уникальных пользователей (COUNT(DISTINCT customer_id)), которые оформили хотя бы один заказ в этом месяце. Также мы добавляем условие WHERE order_date >= DATE_TRUNC('month', order_date), чтобы выбрать только те заказы, которые были оформлены в этом месяце.
Макс Прохоров
Знаток
(293)
1 год назад
Ваш запрос считает количество уникальных заказов по месяцам, а не уникальных пользователей. Для решения этой задачи нужно изменить код запроса вот так:
SELECT DATE_TRUNC('month', order_date):: DATE AS month,
COUNT(DISTINCT customer_id) AS unique_users
FROM northwind.orders
GROUP BY 1
Теперь мы считаем количество уникальных пользователей (customer_id) по месяцам.
Вот мой код:
SELECT DATE_TRUNC('month', order_date):: DATE AS month,
COUNT(DISTINCT order_id) AS unique_users
FROM northwind.orders
GROUP BY 1
При проверке всплывает ошибка: "Полученный результат не совпадает с ожидаемым"
Помогите найти ошибку !
Спасибо за помощь !