В card_tx — списания по карте Ozon Банка. Антифрод проверяет: сколько клиент потратил за последние 7 суток, включая текущую операцию. В окно попадают операции с tx_at от «текущая минус 7 суток» включительно до текущей; операции в ту же секунду тоже входят.
Верните операции, на которых эта сумма больше 150 000 ₽: tx_id, client_id, tx_at, sum_7d. Порядок — по tx_id.
В работе: Правило антифрода и лимиты: резкий рост трат за неделю — повод проверить операцию.
Таблицы
card_tx — списания по карте
| Колонка | Тип | Что значит |
|---|---|---|
tx_id | int | ключ |
client_id | int | клиент |
tx_at | timestamp | время |
amount_rub | numeric | сумма |
Пример: данные
card_tx · 6 строк
| tx_id | client_id | tx_at | amount_rub |
|---|---|---|---|
| 1 | 7 | 2026-02-01T10:00:00 | 60000 |
| 2 | 7 | 2026-02-03T12:00:00 | 45000 |
| 3 | 7 | 2026-02-05T18:30:00 | 52000 |
| 4 | 7 | 2026-02-12T09:00:00 | 20000 |
| 5 | 8 | 2026-02-02T10:00:00 | 149999 |
| 6 | 8 | 2026-02-02T10:05:00 | 2 |
Ожидаемый ответ
| tx_id | client_id | tx_at | sum_7d |
|---|---|---|---|
| 3 | 7 | 2026-02-05T18:30:00 | 157000 |
| 6 | 8 | 2026-02-02T10:05:00 | 150001 |
Как проверяем
Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
tx_id, client_id, tx_at, sum_7d
Источник: на данных Ozon Банка: операции по карте. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.