В deposit_rates — история ставок: с даты valid_from по продукту действует rate_pct, пока не появится следующая запись. Ставки и повышали, и снижали.
Для каждого вклада из deposits найдите ставку, действовавшую в день открытия opened_on (запись с датой в этот же день уже действует). Посчитайте year_income_rub — доход за год без капитализации, amount_rub * rate_pct / 100, округлить до копеек.
Если на дату открытия ставки по продукту ещё не было (ошибка миграции), выведите NULL. Верните deposit_id, product, opened_on, rate_pct, year_income_rub, порядок по deposit_id.
В работе: Прогноз процентных расходов банка и проверка, что клиенту начислили обещанную ставку.
Таблицы
deposit_rates — история ставок
| Колонка | Тип | Что значит |
|---|---|---|
product | text | вклад |
valid_from | date | действует с |
rate_pct | numeric | ставка, % годовых |
deposits — открытые вклады
| Колонка | Тип | Что значит |
|---|---|---|
deposit_id | int | ключ |
client_id | int | клиент |
product | text | вклад |
opened_on | date | дата открытия |
amount_rub | numeric | сумма |
Пример: данные
deposit_rates · 5 строк
| product | valid_from | rate_pct |
|---|---|---|
| Лучший % | 2025-01-01 | 21 |
| Лучший % | 2025-10-15 | 18,5 |
| Лучший % | 2026-03-01 | 16 |
| СберВклад | 2025-06-01 | 17 |
| СберВклад | 2026-02-01 | 15,2 |
deposits · 5 строк
| deposit_id | client_id | product | opened_on | amount_rub |
|---|---|---|---|---|
| 1 | 501 | Лучший % | 2025-03-10 | 300000 |
| 2 | 502 | Лучший % | 2025-10-15 | 150000 |
| 3 | 503 | СберВклад | 2026-01-31 | 1000000 |
| 4 | 504 | СберВклад | 2025-05-20 | 500000 |
| 5 | 505 | Лучший % | 2026-04-05 | 200000 |
Ожидаемый ответ
| deposit_id | product | opened_on | rate_pct | year_income_rub |
|---|---|---|---|---|
| 1 | Лучший % | 2025-03-10 | 21 | 63000 |
| 2 | Лучший % | 2025-10-15 | 18,5 | 27750 |
| 3 | СберВклад | 2026-01-31 | 17 | 170000 |
| 4 | СберВклад | 2025-05-20 | NULL | NULL |
| 5 | Лучший % | 2026-04-05 | 16 | 32000 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
deposit_id, product, opened_on, rate_pct, year_income_rub
Источник: на данных Сбера: вклады и история ставок. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.