diff --git a/amaksatov/postgresql/OS-330.sql b/amaksatov/postgresql/OS-330.sql index 86a034c..beeae0e 100644 --- a/amaksatov/postgresql/OS-330.sql +++ b/amaksatov/postgresql/OS-330.sql @@ -6,14 +6,10 @@ SELECT COUNT(DISTINCT lv.lesson_id) AS viewed_lessons_count, MAX(lv.viewed_at) AS last_viewed, MIN(lv.viewed_at) AS first_viewed, - ROUND ( - CASE - WHEN COUNT(DISTINCT l.id) = 0 THEN NULL - ELSE COUNT(DISTINCT lv.lesson_id) * 1.0 / COUNT(DISTINCT l.id) * 100 - END, 2)::TEXT || '%' AS "engagement_rate" + ROUND (COUNT(DISTINCT lv.lesson_id) * 1.0 / NULLIF(COUNT(DISTINCT l.id), 0) * 100, 2) AS "engagement_rate(%)" FROM amaksatov.users u LEFT JOIN enrollments e ON e.user_id = u.id LEFT JOIN lessons l ON l.course_id = e.course_id LEFT JOIN lesson_views lv ON lv.lesson_id = l.id AND u.id = lv.user_id -GROUP BY u.id -HAVING COUNT(e.id) > 0; \ No newline at end of file +GROUP BY u.id; +