**Контекст:** Образовательная платформа хочет выявить самые популярные курсы по количеству завершений за последний квартал для формирования рекомендаций на главной странице.
**Данные:**
[см. код в задании]
**Задание:**
1. Выведите топ-10 курсов по количеству завершений за последний квартал (3 месяца)
2. Результат должен содержать: название курса, категорию, уровень сложности, число завершений и средний progress_pct
3. Завершённый курс — строка, где `completed_at IS NOT NULL`
4. Отсортируйте по числу завершений по убыванию
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE courses (
id SERIAL PRIMARY KEY,
title VARCHAR(300) NOT NULL,
category VARCHAR(100) NOT NULL, -- 'data_science', 'programming', 'design', ...
difficulty VARCHAR(20) NOT NULL, -- 'beginner', 'intermediate', 'advanced'
created_at TIMESTAMP NOT NULL
);
CREATE TABLE enrollments (
id SERIAL PRIMARY KEY,
user_id INT NOT NULL,
course_id INT REFERENCES courses(id),
enrolled_at TIMESTAMP NOT NULL,
completed_at TIMESTAMP, -- NULL если не завершён
progress_pct INT DEFAULT 0 -- 0..100
);
JOIN COUNT GROUP BY LIMIT фильтрация по дате
Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: JOIN, COUNT, GROUP BY, LIMIT, фильтрация по дате.
На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания