пет-проект полностью
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
-- Этап 3. Анализ и запросы - Напиши SQL-запросы к витринам -- Напиши свои вариации для практики--
|
||||
-- Топ-5 самых просматриваемых уроков
|
||||
|
||||
SELECT
|
||||
lesson_title,
|
||||
course_title,
|
||||
total_views
|
||||
FROM lesson_popularity_summary
|
||||
ORDER BY total_views DESC
|
||||
LIMIT 5;
|
||||
|
||||
-- Неактивные пользователи, записавшиеся на курсы
|
||||
|
||||
SELECT
|
||||
name,
|
||||
email,
|
||||
registered_courses_count
|
||||
FROM inactive_users_summary
|
||||
WHERE registered_courses_count > 0
|
||||
ORDER BY registration_date DESC;
|
||||
|
||||
-- Курсы с самым высоким процентом завершения
|
||||
|
||||
SELECT
|
||||
course_title,
|
||||
AVG(completion_rate) AS avg_completion
|
||||
FROM course_completion_rate
|
||||
GROUP BY course_title
|
||||
ORDER BY avg_completion DESC
|
||||
LIMIT 5;
|
||||
|
||||
-- Мои вариации --
|
||||
|
||||
-- Среднее количество учеников на урок по каждому курсу
|
||||
|
||||
SELECT
|
||||
course_title,
|
||||
ROUND(AVG(unique_users), 2) AS avg_users_lesson,
|
||||
SUM(total_views) AS total_course_views
|
||||
FROM dsolovianov.lesson_popularity_summary
|
||||
GROUP BY course_title
|
||||
ORDER BY avg_users_lesson DESC;
|
||||
|
||||
-- Возрастное распределение неактивных пользователей
|
||||
|
||||
SELECT
|
||||
CASE
|
||||
WHEN age < 25 THEN 'до 25'
|
||||
WHEN age BETWEEN 25 AND 30 THEN '25-30'
|
||||
WHEN age BETWEEN 31 AND 35 THEN '31-35'
|
||||
ELSE '35+'
|
||||
END AS age_group,
|
||||
COUNT(*) AS inactive_users_count,
|
||||
AVG(registered_courses_count) AS avg_courses_enrolled
|
||||
FROM dsolovianov.inactive_users_summary
|
||||
GROUP BY age_group
|
||||
ORDER BY age_group;
|
||||
|
||||
-- Пользователи, которые начали, но не закончили курс (completion_rate между 0 и 1)
|
||||
|
||||
SELECT
|
||||
user_name,
|
||||
course_title,
|
||||
lessons_viewed,
|
||||
lessons_in_course,
|
||||
ROUND(completion_rate * 100, 0) AS no_completion,
|
||||
(lessons_in_course - lessons_viewed) AS remaining_lessons
|
||||
FROM dsolovianov.course_completion_rate
|
||||
WHERE completion_rate BETWEEN 0.01 AND 0.99
|
||||
ORDER BY completion_rate DESC, user_name;
|
||||
|
||||
-- Прогресс каждого пользователя по курсам (с указанием статуса)
|
||||
|
||||
SELECT
|
||||
user_name,
|
||||
course_title,
|
||||
lessons_viewed,
|
||||
lessons_in_course,
|
||||
ROUND(completion_rate * 100, 0) AS progress_percent,
|
||||
CASE
|
||||
WHEN completion_rate = 1.0 THEN 'Пройден'
|
||||
WHEN completion_rate = 0 THEN 'Не начат'
|
||||
WHEN completion_rate >= 0.5 THEN 'В процессе (>50%)'
|
||||
ELSE 'В процессе (<50%)'
|
||||
END AS status
|
||||
FROM dsolovianov.course_completion_rate
|
||||
ORDER BY user_name, completion_rate DESC;
|
||||
|
||||
Reference in New Issue
Block a user