Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 52 из 52 · 10 мин
Собираем всё вместе: помесячная выручка, средний чек и лучшие покупатели.
Хочу видеть по месяцам: сколько выполненных заказов, сколько денег и какой средний чек.
И ещё — лучшего покупателя в каждом городе. Подарим им сертификат.
Всё, что нужно, ты уже знаешь: JOIN, GROUP BY, date_trunc, WITH и оконные функции. Я готов.
Собирай по шагам и проверяй каждый шаг глазами. Так работают аналитики.
SELECT round(sum(oi.quantity * oi.unit_price) / count(DISTINCT o.id), 2) AS avg_check
FROM orders o
JOIN order_items oi ON oi.order_id = o.id
WHERE o.status = 'done';Хороший отчёт: понятные имена столбцов, округлённые деньги, порядок строк и комментарий, что считается.
По выполненным заказам выведи для каждого месяца: month (текст вида 2025-09 через to_char), orders — число заказов, revenue — выручку и avg_check — средний чек, округлённый до 2 знаков. По возрастанию месяца.
categories — категории товаровid, nameproducts — товарыid, name, category_id, price, weight_g, is_available, added_oncustomers — покупателиid, name, email, city, phone, birthday, registered_onstaff — сотрудникиid, name, role, salary, hired_on, manager_idorders — заказыid, customer_id, staff_id, created_at, statusorder_items — позиции заказовorder_id, product_id, quantity, unit_pricereviews — отзывыid, customer_id, product_id, rating, comment, created_onДля каждого города выведи city, name и spent покупателя, который потратил больше всех на выполненные заказы. Используй WITH и оконную функцию.
WITH — пока нетcategories — категории товаровid, nameproducts — товарыid, name, category_id, price, weight_g, is_available, added_oncustomers — покупателиid, name, email, city, phone, birthday, registered_onstaff — сотрудникиid, name, role, salary, hired_on, manager_idorders — заказыid, customer_id, staff_id, created_at, statusorder_items — позиции заказовorder_id, product_id, quantity, unit_pricereviews — отзывыid, customer_id, product_id, rating, comment, created_onВыберите один ответ.
Почему после JOIN с order_items заказы считают как count(DISTINCT o.id)?
Выберите все подходящие варианты.
Что из курса пригодилось для «лучшего покупателя города»?
Проверяем состояние обучения…