pet project
This commit is contained in:
46
queries/inactive_users_summary.sql
Normal file
46
queries/inactive_users_summary.sql
Normal file
@@ -0,0 +1,46 @@
|
||||
-- ### ✅ **Задание 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;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user