Аномальные дни

Сложная Временные ряды

Условие задачи

Таблица daily_dau содержит id, dau_date, dau_count. Найдите дни, в которых отклонение от среднего за всё время превышает 20% в любую сторону. Выведите dau_date, dau_count, deviation_pct (округлить до 1 знака). Отсортируйте по ABS(deviation_pct) DESC, dau_date ASC.

Схема данных

CREATE TABLE daily_dau (id INTEGER PRIMARY KEY, dau_date TEXT, dau_count INTEGER);

Темы

AVG OVER ROUND ABS WHERE

Подсказки

Что проверяет эта задача

Задача «Аномальные дни» учит решать задачи по теме «Временные ряды» так, как это спрашивают на собеседовании аналитика данных. Такие задачи регулярно дают на собеседованиях аналитиков данных. Уровень сложный — задача проверяет глубину и умение собрать запрос из нескольких приёмов.

Как подступиться к решению

Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).

Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи