**Контекст:** Fintech-приложение логирует транзакции. Служба безопасности запросила выборку подозрительных операций по нескольким критериям.
**Данные:**
[см. код в задании]
**Задание:**
Найдите все транзакции, которые соответствуют **хотя бы одному** из критериев:
1. Тип `'transfer'` или `'withdrawal'` с суммой больше 100 000 RUB
2. Статус `'reversed'` за последние 7 дней
3. Описание содержит слово `'возврат'` (без учёта регистра)
Выведите `id`, `user_id`, `type`, `amount`, `status`, `description` (первые 50 символов) и `created_at`.
Отсортируйте по дате по убыванию.
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE transactions (
id BIGSERIAL PRIMARY KEY,
user_id INT NOT NULL,
type VARCHAR(50) NOT NULL, -- 'transfer', 'payment', 'withdrawal', 'deposit'
amount NUMERIC(12,2) NOT NULL,
currency VARCHAR(3) NOT NULL, -- 'RUB', 'USD', 'EUR'
status VARCHAR(30) NOT NULL, -- 'success', 'pending', 'failed', 'reversed'
description TEXT,
created_at TIMESTAMP NOT NULL
);
WHERE IN BETWEEN LIKE составные условия
Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: WHERE, IN, BETWEEN, LIKE, составные условия.
На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания