-- ### ✅ **Задание 3: Создай витрину `inactive_users_summary`** -- -- **Цель:** выявить пользователей, которые **зарегистрировались, но ничего не посмотрели**. -- -- 📌 **Что нужно сделать:** -- -- - Подготовь таблицу, где каждая строка — один такой "неактивный" пользователь. -- - Для каждого пользователя нужны: -- - ID, имя, email, возраст -- - Количество курсов, на которые он записался -- - Дата регистрации -- **Где пригодится:** -- -- Эта витрина может использоваться для продуктовой аналитики, триггерных рассылок (например, напоминаний), анализа оттока, повышения вовлечённости. SELECT u.user_id AS user_id, any(u.name) AS user_name, any(u.email) AS email, any(u.age) AS age, count() course_count, any(u.registration_date) AS registration_date FROM pet_project.users u LEFT JOIN pet_project.enrollments e USING (user_id) GROUP BY u.user_id ORDER BY u.user_id ; -- Создание вьюшки CREATE MATERIALIZED VIEW pet_project.mv_inactive_users_summary REFRESH every 1 day ENGINE SummingMergeTree() ORDER BY (user_id) AS SELECT u.user_id AS user_id, any(u.name) AS user_name, any(u.email) AS email, any(u.age) AS age, count() course_count, any(u.registration_date) AS registration_date FROM pet_project.users u LEFT JOIN pet_project.enrollments e USING (user_id) GROUP BY u.user_id; -- проверка SELECT * FROM pet_project.mv_inactive_users_summary;