Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 21 из 52 · 7 мин
Фильтр по группам и то, в каком порядке база на самом деле читает запрос.
Пишу WHERE avg(price) > 200 — ошибка!
WHERE я проверяю ДО группировки, для каждой строки. Средней ещё нет. Условия на группы — в HAVING.
HAVINGSELECT category_id, round(avg(price), 2) AS avg_price
FROM products
GROUP BY category_id
HAVING avg(price) > 200;SELECT city, count(*) AS guests
FROM customers
WHERE registered_on >= '2024-06-01'
GROUP BY city
HAVING count(*) >= 2
ORDER BY guests DESC;Условие на строку — WHERE. Условие на группу (с агрегатом) — HAVING.
Выведи category_id и среднюю цену avg_price (округли до 2 знаков) только для категорий со средней ценой больше 200.
HAVING — пока нет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Выберите один ответ.
Где писать условие count(*) > 3?
Выберите один ответ.
Что выполняется раньше?
Проверяем состояние обучения…