🖥 Задание SQL с реального собеседования



Вводные данные

Есть таблица анализов Analysis:



an_id — ID анализа;

an_name — название анализа;

an_cost — себестоимость анализа;

an_price — розничная цена анализа;

an_group — группа анализов.

Есть таблица групп анализов Groups:



gr_id — ID группы;

gr_name — название группы;

gr_temp — температурный режим хранения.

Есть таблица заказов Orders:



ord_id — ID заказа;

ord_datetime — дата и время заказа;

ord_an — ID анализа.



Задача Уровень: Middle

Формулировка: нарастающим итогом рассчитать, как увеличивалось количество проданных тестов каждый месяц каждого года с разбивкой по группе.



Эта задача среднего уровня: ее можно давать как Middle, так и Junior специалистам. Здесь проверяется базовое понимание оконных функций, джоинов и группировок.



Примечание После того, как вы написали первую версию своего запроса, попробуйте его оптимизировать. Например, в данном примере мы используем CTE — обобщенные табличные выражения.



Ответ



@sqlhub