MySQL平均查询仅返回一行

时间:2019-06-03 19:25:18

标签: mysql average

我正在开发一个评级系统,作为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警告,提示没有唯一标识符。

如何调整上述查询以为表中的每个字段取回指定的数据?

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

只需添加:GROUP BY hotels.hotel_id(假设它是PK)即可。