При написании sql-запроса можно использовать любой синтаксис sql - MS SQL, mysql, Postgesql и так далее). Представим, что у нас есть 3 таблицы с данными:
orders (заказы): order_id - номер заказа Тип данных - integer warehouse_id - id склада Тип данных - integer delivered_at - время доставки Тип данных - timestamp created_at - время создания Тип данных - timestamp Поле order_id уникальное
order_lines (состав заказа): order_id - номер заказа Тип данных - integer product_id - id продукта Тип данных - integer quantity - кол-во штук в заказе Тип данных - integer
В одном заказе может быть несколько продуктов, следовательно для заказа может быть больше 1-й строки в этой таблице.
products (продукты): product_id - id продукта Тип данных - integer product_name - название продукта Тип данных - text Поле product_id уникальное
Задание #1
Написать sql-запрос, который выведет 5 лучших и 5 худших продуктов на каждом складе за последний месяц. Лучших и худших определяем по количеству проданных штук.
Задание #2
Написать sql-запрос, который считает долю опозданий от всех заказов в разбивке по дням. Опоздание — это когда между временем доставки и созданием заказа прошло более 15 минут.
Задание #3
У нас есть проблема: курьеры таскают очень тяжелые заказы. Мы решили сделать в приложении ограничение на заказ бутылок воды.
Есть список sku, ты можешь заказать каждый из них, но не больше 1 штуки. Раньше мог взять любое количество. Через 2 недели после запуска мы решили посмотреть, изменилось ли что-то.
Вопросы:
1. На какие метрики смотреть, чтобы оценить результаты?
2. Как пользователи могли обойти ограничение?
3. Как это проверить с помощью имеющихся трех таблиц (запрос не нужен, достаточно описать логику)?