В invest_accounts — брокерские счета с городом и датой открытия, в topups — пополнения. Возьмите счета, открытые в 2025 году, и для каждого найдите первое пополнение (самое раннее по topup_at, при равенстве — меньший topup_id). Счета без пополнений не учитываются.
По каждому городу верните city, accounts — число таких счетов, и median_first_rub — медиану суммы первого пополнения, округлённую до копеек. Порядок — по city.
В работе: Подбор порога для акции «пополни от N ₽ — получи подарочную акцию»: среднее здесь тянут вверх крупные клиенты.
Таблицы
invest_accounts — брокерские счета
| Колонка | Тип | Что значит |
|---|---|---|
account_id | int | ключ |
client_id | int | клиент |
city | text | город |
opened_on | date | дата открытия |
topups — пополнения счёта
| Колонка | Тип | Что значит |
|---|---|---|
topup_id | int | ключ |
account_id | int | счёт |
topup_at | timestamp | время |
amount_rub | numeric | сумма, ₽ |
Пример: данные
invest_accounts · 5 строк
| account_id | client_id | city | opened_on |
|---|---|---|---|
| 1 | 11 | Москва | 2025-02-01 |
| 2 | 12 | Москва | 2025-03-15 |
| 3 | 13 | Москва | 2025-05-20 |
| 4 | 14 | Казань | 2025-06-01 |
| 5 | 15 | Казань | 2025-07-07 |
topups · 6 строк
| topup_id | account_id | topup_at | amount_rub |
|---|---|---|---|
| 1 | 1 | 2025-02-01T12:00:00 | 5000 |
| 2 | 1 | 2025-03-01T12:00:00 | 50000 |
| 3 | 2 | 2025-03-16T10:00:00 | 10000 |
| 4 | 3 | 2025-05-21T09:00:00 | 300000 |
| 5 | 4 | 2025-06-02T18:00:00 | 1000 |
| 6 | 5 | 2025-07-08T19:00:00 | 3000 |
Ожидаемый ответ
| city | accounts | median_first_rub |
|---|---|---|
| Казань | 2 | 2000 |
| Москва | 3 | 10000 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
city, accounts, median_first_rub
Источник: на данных Альфа-Инвестиций: брокерские счета и пополнения. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.