Посчитать средний статус среди поставщиков по городам, но отобразить только города, где больше 1 проекта

Рейтинг: 0Ответов: 1Опубликовано: 22.05.2023

Это задание по запросу к базе данных MySQL.

В бд есть таблица Suppliers (Поставщики) с полями:

  • SNUM (вместо ID)
  • SNAME
  • STATUS
  • CITY

Таблица Jobs (Проекты) с полями:

  • JNUM
  • JNAME
  • CITY

Таблица spj, которая соединяет две эти таблицы, (не знаю, нужна ли она для этого задания) с полями:

  • JNUM
  • SNUM.

Нужно посчитать среднее арифметическое статусов поставщиков для каждого города, но отобразить только те города, где больше 1 проекта. Я знаю, как посчитать среднее арифметическое по городам:

SELECT Suppliers.City, AVG(Suppliers.STATUS) AS Summ FROM Suppliers
GROUP BY Suppliers.City

Не могу понять, как при этом отобразить только те города, где больше одного проекта. Помогите, пожалуйста!

Ответы

▲ 1

Ну, видимо, нужно сделать JOIN таблицы Jobs по полю CITY и поставить в конце условие HAVING COUNT(JNUM) > 1, остальное всё что нужно у вас уже есть.

Полный запрос не пишу, потому что это всё-таки ваше домашнее задание.

P.S. Summ - не очень так название для среднего арифметического. Хотя понятно, что вы это с какого-то примера переписали.