diff --git a/gmokrousov/postgresql/DM_platform_summary.sql b/gmokrousov/postgresql/DM_platform_summary.sql new file mode 100644 index 0000000..3ff7377 --- /dev/null +++ b/gmokrousov/postgresql/DM_platform_summary.sql @@ -0,0 +1,24 @@ +create materialized view platform_summary as + with + lv_stats as ( + select + count(distinct user_id) as users_with_views, + count(*)::decimal / count(distinct lesson_id) as avg_views_per_lesson + from lesson_views + ) + select + total_users, + total_courses, + total_lessons, + users_with_views, + round((total_lessons::decimal / total_courses), 2) AS avg_lessons_per_course, + round(avg_views_per_lesson, 2) as avg_views_per_lesson + from + ( + select + (select count(*) from users) as total_users, + (select count(*) from courses) as total_courses, + count(*) as total_lessons + from lessons + ) as s + cross join lv_stats as lv; \ No newline at end of file