homework, pet project DE Dmitry_Medvedev #1

Open
dmitry_medvedev wants to merge 266 commits from md_branch into main
2 changed files with 21 additions and 2 deletions
Showing only changes of commit 94965703a3 - Show all commits
@@ -79,5 +79,4 @@ LEFT JOIN first_viewed_at fva ON fva.id = pc.id
LEFT JOIN last_viewed_at lva ON lva.id = pc.id
GROUP BY pc.id, uu.unique_users, lc.lesson_count, tv.total_views, first_viewed_at, last_viewed_at
ORDER BY course_id
ORDER BY course_id;
@@ -0,0 +1,20 @@
CREATE MATERIALIZED VIEW platform_summary AS
WITH stats AS (
SELECT
(SELECT COUNT(*) total_users FROM pet_users pu) AS total_users,
(SELECT COUNT(*) total_courses FROM pet_courses pc) AS total_courses,
(SELECT COUNT(*) total_lessons FROM pet_lessons pl) AS total_lessons,
(SELECT COUNT(DISTINCT user_id) FROM pet_lesson_views plv) AS users_with_views,
(SELECT COUNT(*) FROM pet_lesson_views plv) AS total_views
)
SELECT
total_users,
total_courses,
total_lessons,
users_with_views,
ROUND((total_lessons * 1.0 / total_courses), 2) AS avg_lessons_per_course,
ROUND((total_views * 1.0 / total_lessons), 2) AS avg_views_per_lesson
FROM stats;