homework, pet project DE Dmitry_Medvedev #1
@@ -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;
|
||||
Reference in New Issue
Block a user