28 lines
715 B
SQL
28 lines
715 B
SQL
/*
|
|
- ВИТРИНА АНАЛИЗА НЕАКТИВНЫХ ПОЛЬЗОВАТЕЛЕЙ
|
|
- ВСЕ УЧАСТВУЮЩИЕ ТАБЛИЦЫ DISTRIBUTED BY (user_id)
|
|
- ИТОГОВОЕ ПРЕДСТВАЛЕНИЕ ТАК ЖЕ DISTRIBUTED BY (user_id)
|
|
*/
|
|
|
|
|
|
CREATE MATERIALIZED VIEW IF NOT EXISTS dm.inactive_users_summary AS
|
|
-- EXPLAIN ANALYZE
|
|
WITH t1 AS (
|
|
SELECT
|
|
user_id,
|
|
count(DISTINCT course_id) AS enrollments_count
|
|
FROM core.enrollments
|
|
GROUP BY user_id
|
|
)
|
|
SELECT
|
|
u.user_id,
|
|
u.name AS user_name,
|
|
u.email,
|
|
u.age,
|
|
coalesce(t1.enrollments_count, 0),
|
|
u.registration_date
|
|
FROM core.dim_user u
|
|
LEFT JOIN t1 USING (user_id)
|
|
WHERE u.user_id NOT IN (SELECT user_id FROM core.fact_lesson_views)
|
|
|
|
DISTRIBUTED BY (user_id); |