Добавить флаг года к покупкам (CASE WHEN)

Junior SQL Соцсети

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

**Контекст:** Соцсеть с маркетплейсом хочет пометить покупки: сделаны в 2023 году или раньше — для анализа поведения «старых» и «новых» покупателей.

**Данные:**

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

**Задание:**

1. Выведите все покупки, добавив вычисляемую колонку `is_2023`:
- 1, если покупка сделана в 2023 году
- 0, если покупка сделана в другом году
2. Выведите id, user_id, product_name, amount, purchase_date и is_2023
3. Отсортируйте по дате покупки (новые сначала)

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

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

CREATE TABLE marketplace_purchases (
    id SERIAL PRIMARY KEY,
    user_id INT NOT NULL,
    product_name VARCHAR(200) NOT NULL,
    amount NUMERIC(10,2) NOT NULL,
    purchase_date DATE NOT NULL
);

Темы

CASE WHEN EXTRACT вычисляемые колонки

Подсказки

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

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

Какой уровень знаний нужен для задачи "Добавить флаг года к покупкам (CASE WHEN)"?

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

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

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

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

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

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

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

← Все задания