Список элементов, использующих количество и среднее в MYSQL Workbench, дает слишком мало результатов - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть список названий книг, для которого мне нужно сначала сосчитать более четырех экземпляров на каждый заголовок (в алфавитном порядке), затем сложить название книги и найти среднюю цену.Однако мой код выдает только 1 книгу вместо списка.Вот что мне нужно произвести:

Title   Count   Average Price    

ABC       6      15.95
DEF       6      21.67
GHI       7      11.47

Вот что я получу:

Title   Count   Average Price    

ABC       98      15.95

Это мой код:

SELECT 
Book_Title AS 'Title',
COUNT(Copy_Num) AS `Count`,
Round(Avg(Copy_Price), 2) AS "Average Price"
FROM BOOK
JOIN COPY USING (Book_Code)
JOIN BRANCH USING (Branch_Num)
HAVING Count(Copy_Num) > 4
ORDER BY Book_Title;

Чего мне не хватает?Это дополнительный код или что-то в неправильном порядке?

Заранее спасибо за ответ, все остальное, что я пробовал, привело к синтаксическим ошибкам.

1 Ответ

0 голосов
/ 11 декабря 2018

Вы пропустили оператор GROUP BY Book_Title.

SELECT 
  Book_Title AS 'Title',
  COUNT(Copy_Num) AS 'Count',
  Round(Avg(Copy_Price), 2) AS 'Average Price'
FROM BOOK
  JOIN COPY USING (Book_Code)
  JOIN BRANCH USING (Branch_Num)
GROUP BY Book_Title
HAVING Count(Copy_Num) > 4
ORDER BY Book_Title;
...