Получение среднего значения для каждой строки на основе отдельного запроса
Выше моей схемы таблиц. Моя задача - Напишите команду SQL для отображения для каждого издателя имени издателя, местоположения издателя и средней стоимости книг, которые продает издатель. У меня есть в основном рабочий запрос:
SELECT Publisher.name, Publisher.location,
(SELECT AVG(Book.cost)
FROM (Book
INNER JOIN Publisher
ON Book.publisherName = Publisher.name)
WHERE Book.publisherName = Publisher.name
) bookAverage FROM Book
INNER JOIN Publisher ON Book.publisherName = Publisher.name;
Проблема заключается в том, что это возвращает среднее арифметическое всех книг в Books
таблице. Как я могу изменить это, чтобы вернуть среднюю стоимость книг, связанных с каждым издателем?
Вот скрипка со схемой реализована уже:
http://sqlfiddle.com/#!9/7a9909/11/0
Этот ответ появился в очереди просмотра низкого качества, по-видимому, потому, что вы не даете никакого объяснения кода. Если этот код отвечает на вопрос, подумайте над добавлением добавления текста, объясняющего код в вашем ответе. Таким образом, вы, скорее всего, получите больше бонусов - и помогите исследователю узнать что-то новое. – lmo
@Imo Нет проблем, я просто подумал, что автор вопроса так близок к решению, что ему не нужно подробное объяснение. –