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 позволит получить количество месяцев из этого интервала. Группировать значения не нужно. Чтобы добавить все необходимые поля, присоедините к таблице из предыдущего задания таблицу с заказами.
Семён
НГАУ
Всё сделано в очень сжатые сроки, качественно и без замечаний. Рекомендую!
Галина
НГПУ
Работа выполнена досрочно и очень понятно расписана, даны все пояснения. Очень довольна. Р...
Борис
МАИ
Все сделано вовремя. Преподаватель сильно не всматриваться, но быстро просмотрев, сказал в...
Владимир
ГМА им.С.О.Макарова
Всем доброго дня! Все выполнено досрочно,все замечания исправлены! Андрей большой молодец!!!