SELECT DISTINCT u.user_id,
DATE_TRUNC('month',created_at)::date AS start_cohort,
COUNT(*) OVER (PARTITION BY DATE_TRUNC('month', created_at)) AS cohort_size
FROM tools_shop.users u
Поместите предыдущий запрос в общее табличное выражение. Постройте таблицу с сессиями, где будут находиться следующие поля:
-лайфтайм;
-месяц заказа;
-месяц старта когорты;
-количество пользователей в когорте, или размер когорты;
-выручка.
Подсказка:
Чтобы выделить месяц, используйте функцию DATE_TRUNC, а затем приведите результат к типу date. Для расчёта лайфтайма заказа используйте комбинацию функций EXTRACT и AGE. Функция AGE(<дата_1>, <дата_2>) вернёт разницу между двумя датами в виде интервала времени, а EXTRACT с аргументом MONTH позволит получить количество месяцев из этого интервала. Группировать значения не нужно. Чтобы добавить все необходимые поля, присоедините к таблице из предыдущего задания таблицу с заказами.
Александра
ИРНИТУ
Все работы раньше срока, на отлично. Отзывчивый исполнитель, всем рекомендую.
Кристина
НГСХА
Спасибо огромное за сотрудничество)работа выполнена без единого нарекания)очень довольна)р...
Вадим
Спбпу
Отличный исполнитель ,всё сделано быстро,без каких-либо ошибок. Определенно рекомендую.
Арина
КГУ
Работа выполнена досрочно,что очень радует.Большое спасибо исполнителю!:)