Отчёт строится на утро 1 марта 2026 года. Для каждого клиента из clients посчитайте сумму покупок (transact.sum_tran) за последние 30 дней: с 00:00 30 января 2026 года до 00:00 1 марта.
Клиенты без покупок за период тоже нужны, с суммой 0. Верните client_id, full_name, spent_rub; порядок — по spent_rub убыванию, при равенстве по client_id.
В работе: Отбор клиентов МТС Банка под предложение кешбэка: кто сейчас активно пользуется картой.
Таблицы
clients — клиенты МТС Банка
| Колонка | Тип | Что значит |
|---|---|---|
client_id | int | ключ |
full_name | text | имя |
transact — одна строка — одна покупка по карте
| Колонка | Тип | Что значит |
|---|---|---|
id_tran | int | ключ |
id_client | int | клиент |
tran_time | timestamp | время |
sum_tran | numeric | сумма, ₽ |
Пример: данные
clients · 3 строки
| client_id | full_name |
|---|---|
| 1 | Карина Абрамова |
| 2 | Степан Голубев |
| 3 | Эльвира Насибуллина |
transact · 4 строки
| id_tran | id_client | tran_time | sum_tran |
|---|---|---|---|
| 1 | 1 | 2026-02-10T12:00:00 | 3500 |
| 2 | 1 | 2026-02-25T19:30:00 | 1200 |
| 3 | 2 | 2026-02-01T08:00:00 | 890 |
| 4 | 2 | 2026-01-15T10:00:00 | 15000 |
Ожидаемый ответ
| client_id | full_name | spent_rub |
|---|---|---|
| 1 | Карина Абрамова | 4700 |
| 2 | Степан Голубев | 890 |
| 3 | Эльвира Насибуллина | 0 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
client_id, full_name, spent_rub
Источник: тестовое продуктового аналитика МТС, сборник No Data No Growth. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.