Помогите найти ошибку.
Помогите найти ошибку.
Ошибка в данном решении заключается в том, что в подзапросе используется функция count(*) over ()
, которая возвращает общее количество строк в таблице tools_shop.users
, а не количество уникальных пользователей.
Для решения задачи можно использовать следующий запрос:
SELECT DATE_TRUNC('month', event_time::timestamp) AS month, COUNT(DISTINCT user_id) AS unique_users_count FROM tools_shop.events WHERE platform = 'android' AND DATE_TRUNC('month', event_time::timestamp) BETWEEN '2020-01-01' AND '2020-03-01' GROUP BY DATE_TRUNC('month', event_time::timestamp) ORDER BY DATE_TRUNC('month', event_time::timestamp), unique_users_count;
В этом запросе мы сначала группируем данные по месяцу события и считаем количество уникальных пользователей с помощью функции COUNT(DISTINCT user_id)
. Затем сортируем результаты по месяцу события и количеству уникальных пользователей.