Исправился по всем замечаниям
This commit is contained in:
@@ -90,12 +90,10 @@ select
|
||||
count(distinct lv.lesson_id) as viewed_lessons_count,
|
||||
max(lv.viewed_at) as last_view,
|
||||
min(lv.viewed_at) as first_view,
|
||||
round(
|
||||
count(distinct lv.lesson_id) * 100.0 / al.cnt_lesson
|
||||
,2) || '%' as engagegement_rate
|
||||
round(count(distinct lv.lesson_id) * 100.0 / NULLIF(al.cnt_lesson, 0), 4) as engagement_rate
|
||||
from users u
|
||||
join enrollments e on u.id = e.user_id
|
||||
join lesson_views lv on lv.user_id = u.id
|
||||
left join lesson_views lv on lv.user_id = u.id
|
||||
join available_lessons al on al.user_id = u.id
|
||||
group by u.id, u.name, al.cnt_lesson
|
||||
);
|
||||
@@ -136,7 +134,7 @@ from
|
||||
join lessons l on c.id = l.course_id
|
||||
join enrollments e on e.course_id = c.id
|
||||
join view_cnt vc on vc.course_id = c.id
|
||||
join lesson_views lv on lv.lesson_id = l.id
|
||||
left join lesson_views lv on lv.lesson_id = l.id
|
||||
group by c.title, vc.cnt, c.id
|
||||
order by course_id
|
||||
);
|
||||
@@ -162,8 +160,8 @@ select
|
||||
count(distinct c.id) as total_courses,
|
||||
count(distinct l.id) as total_lessons,
|
||||
count(distinct lv.user_id) as users_with_views,
|
||||
round(count(distinct l.id) * 1.0 / count(distinct c.id), 2) as avg_lessons_per_course,
|
||||
count(lv.lesson_id) * 1.0 / count(distinct l.id) as avg_lessons_per_lesson
|
||||
round(count(distinct l.id) * 1.0 / NULLIF(count(distinct c.id), 0), 2) as avg_lessons_per_course,
|
||||
count(lv.lesson_id) * 1.0 / NULLIF(count(distinct l.id), 0) as avg_lessons_per_lesson
|
||||
from users u
|
||||
left join lesson_views lv on lv.user_id = u.id
|
||||
left join lessons l on l.id = lv.lesson_id
|
||||
|
||||
Reference in New Issue
Block a user