витрина 'Общая отчетность по взаимодействию' для 'Пет-проект: Онлайн-курсы'

This commit is contained in:
mnoskov
2026-03-20 12:56:57 +03:00
parent 3b9c6393df
commit c5381da248
@@ -0,0 +1,48 @@
CREATE MATERIALIZED VIEW platform_summary as
WITH users_count AS (
SELECT
count(*) AS total_users
FROM
users
),
courses_count AS (
SELECT
count(*) AS total_courses
FROM
courses
),
lessons_count AS (
SELECT
count(*) AS total_lessons
FROM
lessons
),
users_with_views AS (
SELECT
count(distinct user_id) AS users_with_views
FROM
lesson_views
),
views_count AS (
SELECT
count(*) AS total_views
FROM
lesson_views lv
)
SELECT
uc.total_users,
cc.total_courses,
lc.total_lessons,
uwv.users_with_views,
round(lc.total_lessons / cc.total_courses::NUMERIC, 2) AS avg_lessons_per_course,
round(vc.total_views / lc.total_lessons::NUMERIC, 2) AS avg_views_per_lesson
FROM
users_count uc
CROSS JOIN
courses_count cc
CROSS JOIN
lessons_count lc
CROSS JOIN
users_with_views uwv
CROSS JOIN
views_count AS vc;