**Контекст:** Задание по мотивам реального тестового в Альфа-Банке. Финансовый аналитик строит отчёт с нарастающим итогом операций внутри каждого месяца.
**Данные:**
[см. код в задании]
| date | cnt |
|------------|-----|
| 2025-01-02 | 120 |
| 2025-01-05 | 95 |
| 2025-01-10 | 200 |
| 2025-01-15 | 150 |
| 2025-01-22 | 180 |
| 2025-02-01 | 130 |
| ... | ... |
**Задание:**
1. Для каждого дня выведите накопительную (кумулятивную) сумму cnt с начала месяца
2. В каждом новом месяце счётчик сбрасывается и начинает копиться заново
3. Выведите date, cnt, month и running_total
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE oper (
id SERIAL PRIMARY KEY,
date DATE NOT NULL,
cnt INT NOT NULL -- количество операций за день
);
INSERT INTO oper (date, cnt) VALUES
('2025-01-02', 120),
('2025-01-05', 95),
('2025-01-10', 200),
('2025-01-15', 150),
('2025-01-22', 180),
('2025-02-01', 130),
('2025-02-08', 170),
('2025-02-14', 210),
('2025-02-20', 160),
('2025-03-03', 190),
('2025-03-10', 220),
('2025-03-18', 175);
SUM OVER оконные функции накопительный итог DATE_TRUNC
Это задание для уровня Middle. Для middle-аналитиков с опытом 1-3 года, требует уверенного владения темой и понимания edge cases.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: SUM OVER, оконные функции, накопительный итог, DATE_TRUNC.
На реальном собеседовании на подобную задачу отводится 15-30 минут — оцениваются подход, корректность, обработка edge cases. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания