витрина 'Общая отчетность по взаимодействию' для 'Пет-проект: Онлайн-курсы'
This commit is contained in:
+48
@@ -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;
|
||||
Reference in New Issue
Block a user