В clients — клиенты и их сегмент (массовый, премиум, private). В card_tx — покупки по картам, суммы положительные.
Отчёт строится на 30 июня 2026 за последние 90 дней — со 2 апреля по 30 июня включительно. Для каждого клиента верните client_id, segment, spent_rub — сумму покупок за период (0, если покупок не было) и share_pct — долю этой суммы от суммы всего его сегмента, в процентах с двумя знаками.
Если в сегменте за период никто ничего не купил, доля пустая. Порядок: segment, затем share_pct от большей (пустые в конце), затем client_id.
В работе: Кто делает основную выручку сегмента — список для персонального менеджера.
Таблицы
clients — клиенты
| Колонка | Тип | Что значит |
|---|---|---|
client_id | int | ключ |
name | text | имя |
segment | text | сегмент |
card_tx — покупки по картам
| Колонка | Тип | Что значит |
|---|---|---|
tx_id | int | ключ |
client_id | int | клиент |
tx_at | timestamp | время покупки |
amount_rub | numeric | сумма, ₽ |
Пример: данные
clients · 5 строк
| client_id | name | segment |
|---|---|---|
| 1 | Ирина Соколова | премиум |
| 2 | Тимур Валиев | премиум |
| 3 | Анна Ким | массовый |
| 4 | Олег Дьяченко | массовый |
| 5 | Мария Лаптева | массовый |
card_tx · 6 строк
| tx_id | client_id | tx_at | amount_rub |
|---|---|---|---|
| 1 | 1 | 2026-04-10T12:00:00 | 60000 |
| 2 | 2 | 2026-05-15T19:00:00 | 20000 |
| 3 | 2 | 2026-06-01T10:00:00 | 20000 |
| 4 | 3 | 2026-06-20T08:30:00 | 3000 |
| 5 | 4 | 2026-05-02T14:00:00 | 1000 |
| 6 | 3 | 2026-03-30T10:00:00 | 50000 |
Ожидаемый ответ
| client_id | segment | spent_rub | share_pct |
|---|---|---|---|
| 3 | массовый | 3000 | 75 |
| 4 | массовый | 1000 | 25 |
| 5 | массовый | 0 | 0 |
| 1 | премиум | 60000 | 60 |
| 2 | премиум | 40000 | 40 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
client_id, segment, spent_rub, share_pct
Источник: статья о собеседовании аналитиком в Т-Банке, 2026. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.