Написал витрину по курсам
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
CREATE MATERIALIZED VIEW course_summary as
|
||||
with
|
||||
lw as (
|
||||
select
|
||||
user_id,
|
||||
lesson_id,
|
||||
viewed_at
|
||||
from lesson_views
|
||||
)
|
||||
select
|
||||
id as course_id,
|
||||
title as course_title,
|
||||
count(distinct e.user_id) as unique_users,
|
||||
count(distinct l.lesson_id) as lessons_count,
|
||||
count(distinct lw.viewed_at) as total_views,
|
||||
round(count(distinct lw.viewed_at)::decimal / count(distinct e.user_id), 2) as avg_views_per_user,
|
||||
min(lw.viewed_at) as first_viewed_at,
|
||||
max(lw.viewed_at) as last_viewed_at
|
||||
from
|
||||
courses as c
|
||||
join (select course_id, user_id from enrollments) as e on c.id = e.course_id
|
||||
join (select id as lesson_id, course_id from lessons) as l on c.id = l.course_id
|
||||
join lw on l.lesson_id = lw.lesson_id
|
||||
group by id;
|
||||
Reference in New Issue
Block a user