Войти Регистрация
Data base

4. Операции нарастающим итогом с начала месяца

Лёгкая

В daily_ops — число операций по картам за каждый день (op_date, ops_cnt). Для каждой даты выведите op_date, ops_cnt и month_total — сумму операций с первого числа того же месяца по эту дату включительно.

Данные могут охватывать несколько лет. Порядок — по op_date.

В работе: Ежедневный дашборд выполнения месячного плана по операциям.

Таблицы

daily_ops — одна строка — один день

КолонкаТипЧто значит
op_datedateдата
ops_cntintчисло операций

Пример: данные

daily_ops · 5 строк

op_dateops_cnt
2025-06-281200
2025-06-29900
2025-06-301500
2025-07-011100
2025-07-021300

Ожидаемый ответ

op_dateops_cntmonth_total
2025-06-2812001200
2025-06-299002100
2025-06-3015003600
2025-07-0111001100
2025-07-0213002400
Как проверяем Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
op_date, ops_cnt, month_total
оконные функциинарастающий итогдаты

Источник: тестовое продуктового аналитика Альфа-Банка, сборник No Data No Growth. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.