**Контекст:** Задание по мотивам реального тестового в VK. Маркетинговый аналитик изучает разницу в расходах между мужской и женской аудиторией.
**Данные:**
[см. код в задании]
**Задание:**
1. Посчитайте общую выручку (price × quantity) в разрезе пола
2. Дополнительно: выведите только мужчин (gender = 'male'), у которых 3 и более покупок
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE users (
user_id INT PRIMARY KEY,
gender VARCHAR(10) NOT NULL -- 'male', 'female'
);
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
user_id INT NOT NULL,
item VARCHAR(200) NOT NULL,
price NUMERIC(10,2) NOT NULL,
quantity INT NOT NULL DEFAULT 1
);
INSERT INTO users (user_id, gender) VALUES
(1, 'male'), (2, 'female'), (3, 'male'),
(4, 'female'), (5, 'male'), (6, 'female'),
(7, 'male');
INSERT INTO orders (user_id, item, price, quantity) VALUES
(1, 'Стикерпак', 99.00, 2),
(1, 'Подписка Музыка', 199.00, 1),
(1, 'Голоса', 490.00, 1),
(2, 'Стикерпак', 99.00, 1),
(2, 'Подписка Музыка', 199.00, 1),
(3, 'Голоса', 490.00, 3),
(3, 'Стикерпак', 99.00, 1),
(3, 'Подписка Музыка', 199.00, 1),
(4, 'Голоса', 490.00, 1),
(5, 'Стикерпак', 99.00, 1),
(6, 'Подписка Музыка', 199.00, 2),
(7, 'Голоса', 490.00, 1),
(7, 'Стикерпак', 99.00, 2);
JOIN GROUP BY HAVING SUM агрегация
Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: JOIN, GROUP BY, HAVING, SUM, агрегация.
На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания