В daily_ops — число операций по картам за каждый день (op_date, ops_cnt). Для каждой даты выведите op_date, ops_cnt и month_total — сумму операций с первого числа того же месяца по эту дату включительно.
Данные могут охватывать несколько лет. Порядок — по op_date.
В работе: Ежедневный дашборд выполнения месячного плана по операциям.
Таблицы
daily_ops — одна строка — один день
| Колонка | Тип | Что значит |
|---|---|---|
op_date | date | дата |
ops_cnt | int | число операций |
Пример: данные
daily_ops · 5 строк
| op_date | ops_cnt |
|---|---|
| 2025-06-28 | 1200 |
| 2025-06-29 | 900 |
| 2025-06-30 | 1500 |
| 2025-07-01 | 1100 |
| 2025-07-02 | 1300 |
Ожидаемый ответ
| op_date | ops_cnt | month_total |
|---|---|---|
| 2025-06-28 | 1200 | 1200 |
| 2025-06-29 | 900 | 2100 |
| 2025-06-30 | 1500 | 3600 |
| 2025-07-01 | 1100 | 1100 |
| 2025-07-02 | 1300 | 2400 |
Как проверяем
Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
op_date, ops_cnt, month_total
Источник: тестовое продуктового аналитика Альфа-Банка, сборник No Data No Growth. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.