Распределение абонентов по тарифам и расходам

Junior SQL Телеком

Условие задания

**Контекст:** Телеком-оператор хочет понять распределение абонентов по тарифным планам и уровням ежемесячных расходов для планирования маркетинговых кампаний.

**Данные:**

[см. код в задании]

**Задание:**
1. Для каждого тарифного плана и бакета расходов (до 500₽, 500–1000₽, 1000–2000₽, свыше 2000₽) посчитайте количество активных абонентов
2. Используйте данные за последний полный месяц
3. Выведите: тарифный план, бакет расходов, количество абонентов и средний `total_charge`
4. Отсортируйте по плану и бакету

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

CREATE TABLE subscribers (
    id SERIAL PRIMARY KEY,
    phone_number VARCHAR(20) NOT NULL,
    plan_name VARCHAR(100) NOT NULL,       -- 'Старт', 'Оптимум', 'Премиум', 'Безлимит'
    activated_at TIMESTAMP NOT NULL,
    is_active BOOLEAN DEFAULT TRUE
);

CREATE TABLE monthly_charges (
    id SERIAL PRIMARY KEY,
    subscriber_id INT REFERENCES subscribers(id),
    billing_month DATE NOT NULL,           -- первое число месяца
    base_charge NUMERIC(10,2) NOT NULL,    -- абонентская плата
    extra_charge NUMERIC(10,2) DEFAULT 0,  -- сверх тарифа (доп. трафик, роуминг)
    total_charge NUMERIC(10,2) NOT NULL    -- итого
);

Темы

CASE WHEN GROUP BY бакеты распределение

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "Распределение абонентов по тарифам и расходам"?

Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: CASE WHEN, GROUP BY, бакеты, распределение.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «SQL»?

На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.

← Все задания