Исходящие переводы по СБП до 100 000 ₽ в месяц банк проводит без комиссии, сверх — с комиссией. В sbp_transfers есть успешные, отклонённые и зависшие переводы.
Найдите клиентов, у которых сумма успешных (status = 'success') переводов за март 2026 года строго больше 100 000 ₽. Верните client_id, total_rub и over_limit_rub — сколько сверх лимита.
Порядок — по over_limit_rub по убыванию, затем по client_id.
В работе: Расчёт комиссионного дохода и уведомление клиента, что лимит почти исчерпан.
Таблицы
sbp_transfers — исходящие переводы по СБП
| Колонка | Тип | Что значит |
|---|---|---|
transfer_id | int | ключ |
client_id | int | отправитель |
amount_rub | numeric | сумма |
status | text | success / declined / pending |
created_at | timestamp | время перевода |
Пример: данные
sbp_transfers · 6 строк
| transfer_id | client_id | amount_rub | status | created_at |
|---|---|---|---|---|
| 1 | 10 | 60000 | success | 2026-03-05T10:12:00 |
| 2 | 10 | 50000 | success | 2026-03-20T19:40:00 |
| 3 | 11 | 40000 | success | 2026-03-02T08:00:00 |
| 4 | 11 | 80000 | declined | 2026-03-02T08:05:00 |
| 5 | 12 | 99000 | success | 2026-03-11T14:00:00 |
| 6 | 12 | 2000 | success | 2026-03-12T09:30:00 |
Ожидаемый ответ
| client_id | total_rub | over_limit_rub |
|---|---|---|
| 10 | 110000 | 10000 |
| 12 | 101000 | 1000 |
Как проверяем
Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
client_id, total_rub, over_limit_rub
Источник: на данных Сбера: переводы по СБП. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.