Здравствуйте!
Поддержка не сможет помочь с вопросами, связанными с теорией или задачам из курса «Системный аналитик» — в этой ситуации рекомендуем вам обратиться к вашему преподавателю в чате в Slack.
Если же у вас возникнут иные вопросы — обязательно пишите, будем рады помочь :)
GROUP BY — его указывают после условного оператора WHERE. Если WHERE в запросе нет, оператор GROUP BY пишут после FROM.-- нужно указать поля и необходимые вычисления
SELECT billing_city,
ROUND(AVG(total))
-- не забыть таблицу
FROM invoice
-- здесь указывают поле, в котором группируют данные
GROUP BY billing_city
LIMIT 5; | billing_city | round |
|---|---|
| Porto | 5 |
| Budapest | 7 |
| Reno | 5 |
| London | 5 |
| Paris | 6 |
SELECT ROUND(AVG(total))
FROM invoice
GROUP BY billing_city
LIMIT 5; | round |
|---|
| 5 |
| 7 |
| 5 |
| 5 |
| 6 |
total) в США (англ. USA). Информацию о стране хранит поле billing_country.billing_city.customer_id) и среднюю выручку на уникального пользователя для страны США.invoice_date до недели. Обратите внимание, поле invoice_date хранит данные типа varchar.yahoo и gmail обслужил каждый сотрудник. В итоговой таблице должны быть два поля:'low cost';'high cost'.total, но только для тех заказов, при оформлении которых указан почтовый код. В итоговую таблицу должны войти только два поля.CASE. А чтобы сгруппировать данные по этим категориям, добавьте такую же конструкцию после GROUP BY.xxxxxxxxxxSELECT CASE WHEN total < 1 THEN 'low cost' ELSE 'high cost' END, SUM(total)FROM invoiceWHERE billing_postal_code IS NOT NULLGROUP BY CASE WHEN total < 1 THEN 'low cost' ELSE 'high cost' END;| case | sum |
|---|---|
| low cost | 50.49 |
| high cost | 2108.63 |