MySQL Average Query, возвращающий только одну строку - PullRequest
0 голосов
/ 03 июня 2019

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

SELECT hotel_id, 
hotel_logo, 
hotel_name, 
hotel_website, 
hotel_facebook, 
hotel_rating, 
hotel_verified,
hotel_location,
hotel_founded_in
FROM hotels

Работает как положено и возвращает все отели и указанные поля данных.

Чтобы попытаться получить среднее значение каждого набора отзывов по отелю, к которому я привык:

SELECT hotels.hotel_id, 
AVG(review_total_rating),
hotel_logo, 
hotel_name, 
hotel_website, 
hotel_facebook, 
hotel_rating, 
hotel_verified,
hotel_location,
hotel_founded_in
FROM hotels
INNER JOIN reviews
ON hotels.hotel_id = reviews.hotel_id

Этот запрос возвращает правильные значения, но ТОЛЬКО для одной строки, я также получаю предупреждение MySQL о том, что нет уникального идентификатора.

Как настроить приведенный выше запрос, чтобы вернуть указанные данные для каждого поля в таблице?

Любая помощь приветствуется.

1 Ответ

1 голос
/ 03 июня 2019

Просто добавьте: GROUP BY hotels.hotel_id при условии, что это ПК.

...