course_summary materialized view

This commit is contained in:
dr0zd
2026-01-05 22:56:56 +07:00
parent 45a59582e0
commit 23bb973ab0
+16
View File
@@ -0,0 +1,16 @@
create materialized view dm_course_summary as
select
e.course_id,
c.title,
count(distinct e.user_id) as unique_users,
count(distinct l.id) as lessons_count,
count(distinct lv.id) as total_views,
count(distinct lv.id)*1.0/count(distinct e.user_id) as avg_views_per_user,
min(lv.viewed_at) as first_viewed_at,
max(lv.viewed_at) as last_viewed_at
from enrollments e
join courses c on e.course_id = c.id
join lessons l on c.id = l.course_id
join lessons_views lv on lv.lesson_id = l.id
group by e.course_id, c.title
order by e.course_id