首页 > 解决方案 > 计算具有特定评级mysql的餐厅

问题描述

我有一张tripadvisor数据表。有一些列(餐厅、排名、分数、user_name、review_stars、review_date、user_reviews ......)和其他对我的问题没有用的列......

我正在尝试返回每家餐厅有多少 3 星评论,并使用从高到低的排名列列出它们。

我知道我可以使用计数,我正在考虑计数如果(review_stars = 3)然后按等级排序以返回它......我被卡住了,任何帮助将不胜感激。谢谢你。

标签: mysqlsqlcountsql-order-bymysql-workbench

解决方案


您想要完成的是计算每家餐厅有多少3 星评价..

你真的快到了——你原来的问题确实包含了所有的答案,只是用手写的。想想你在问什么:

“我需要SELECT那个和每家餐厅restaurants有多少”——你缺少的基本语法是——将每家餐厅的所有结果分组到一行。 have 3 star reviewscountGROUP BY

SELECT restaurant, count(*) as 3_star_count from table where review_stars = '3' GROUP BY restaurant

这是一个基本的例子。但是根据您的要求..这种语法应该可以为您提供每家餐厅的 3 星评论数量。

我建议您查看SQL子句及其含义,正如@Alexis 在之前的评论中所说的那样。WHERE子句和子句(尤其是这个GROUP BY)是你要在这里理解的。


推荐阅读