fix pet-project
This commit is contained in:
@@ -25,7 +25,7 @@ CREATE TABLE dmezentsev.lessons (
|
||||
title VARCHAR(200) NOT NULL,
|
||||
duration_min SMALLINT,
|
||||
|
||||
FOREIGN KEY (course_id) REFERENCES courses(id)
|
||||
FOREIGN KEY (course_id) REFERENCES dmezentsev.courses(id)
|
||||
);
|
||||
|
||||
CREATE TABLE dmezentsev.enrollments (
|
||||
@@ -34,8 +34,8 @@ CREATE TABLE dmezentsev.enrollments (
|
||||
course_id BIGINT NOT NULL,
|
||||
enrolled_at DATE,
|
||||
|
||||
FOREIGN KEY (user_id) REFERENCES users_(id),
|
||||
FOREIGN KEY (course_id) REFERENCES courses(id)
|
||||
FOREIGN KEY (user_id) REFERENCES dmezentsev.users_(id),
|
||||
FOREIGN KEY (course_id) REFERENCES dmezentsev.courses(id)
|
||||
);
|
||||
|
||||
CREATE TABLE dmezentsev.lesson_views (
|
||||
@@ -44,8 +44,8 @@ CREATE TABLE dmezentsev.lesson_views (
|
||||
lesson_id BIGINT NOT NULL,
|
||||
viewed_at TIMESTAMPTZ,
|
||||
|
||||
FOREIGN KEY (user_id) REFERENCES users_(id),
|
||||
FOREIGN KEY (lesson_id) REFERENCES lessons(id)
|
||||
FOREIGN KEY (user_id) REFERENCES dmezentsev.users_(id),
|
||||
FOREIGN KEY (lesson_id) REFERENCES dmezentsev.lessons(id)
|
||||
);
|
||||
|
||||
INSERT INTO dmezentsev.users_ (id, name, age, email, registration_date) VALUES
|
||||
|
||||
@@ -38,8 +38,8 @@ SELECT
|
||||
COALESCE(uv.viewed_lessons_count, 0) AS viewed_lessons_count,
|
||||
uv.last_view,
|
||||
uv.first_view,
|
||||
ROUND(uv.viewed_lessons_count::numeric / al.possible_lessons * 100, 2) AS engagement_rate
|
||||
FROM users_ u
|
||||
ROUND(uv.viewed_lessons_count::numeric / NULLIF(al.possible_lessons, 0) * 100, 2) AS engagement_rate
|
||||
FROM dmezentsev.users_ u
|
||||
JOIN user_enroll ue ON ue.user_id = u.id
|
||||
JOIN all_lessons al ON al.user_id = u.id
|
||||
LEFT JOIN user_views uv ON uv.user_id = u.id
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
DROP MATERIALIZED VIEW IF EXISTS user_cohort_analysis;
|
||||
CREATE MATERIALIZED VIEW user_cohort_analysis AS
|
||||
DROP MATERIALIZED VIEW IF EXISTS dmezentsev.user_cohort_analysis;
|
||||
CREATE MATERIALIZED VIEW dmezentsev.user_cohort_analysis AS
|
||||
WITH users_in_cohort AS (
|
||||
-- Кол-во зарегистрированных пользователей по когортам
|
||||
SELECT
|
||||
|
||||
@@ -21,11 +21,12 @@ SELECT
|
||||
popularity_rank
|
||||
FROM dmezentsev.lesson_popularity_ranking
|
||||
WHERE avg_views_per_viewer > 1
|
||||
ORDER BY avg_views_per_viewer DESC, total_views DESC;
|
||||
ORDER BY avg_views_per_viewer DESC, total_views DESC
|
||||
LIMIT 3;
|
||||
|
||||
-- Задание 3: Лучшая когорта по retention
|
||||
SELECT cohort_month, retention_rate
|
||||
FROM user_cohort_analysis
|
||||
FROM dmezentsev.user_cohort_analysis
|
||||
ORDER BY retention_rate DESC
|
||||
LIMIT 3;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user