我正在开发一个评级系统,作为Web应用程序的一部分。我正在尝试运行一个查询,该查询返回数据集中每个条目的平均值。以下是我开始使用的查询:
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警告,提示没有唯一标识符。
如何调整上述查询以为表中的每个字段取回指定的数据?
任何帮助表示赞赏。
答案 0 :(得分:1)
只需添加:GROUP BY hotels.hotel_id
(假设它是PK)即可。