**Контекст:** На маркетплейсе нужно построить отчёт о продажах с детализацией по категориям и продавцам.
**Данные:**
[см. код в задании]
**Задание:**
1. Для каждого продавца и каждой категории его товаров выведите:
- Имя продавца и город
- Категорию товара
- Количество проданных единиц и суммарную выручку
2. Только за последние 90 дней
3. Отсортируйте по выручке по убыванию, выведите топ-20
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE sellers (
id SERIAL PRIMARY KEY,
name VARCHAR(200) NOT NULL,
city VARCHAR(100) NOT NULL
);
CREATE TABLE products (
id SERIAL PRIMARY KEY,
seller_id INT NOT NULL REFERENCES sellers(id),
name VARCHAR(300) NOT NULL,
category VARCHAR(100) NOT NULL,
price NUMERIC(10,2) NOT NULL
);
CREATE TABLE order_items (
id SERIAL PRIMARY KEY,
product_id INT NOT NULL REFERENCES products(id),
quantity INT NOT NULL,
sale_price NUMERIC(10,2) NOT NULL,
sold_at TIMESTAMP NOT NULL
);
INNER JOIN несколько таблиц агрегация
Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: INNER JOIN, несколько таблиц, агрегация.
На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания