我有一个猫途鹰数据表。有列(餐厅,排名,分数,user_name,review_stars,review_date,user_reviews...(和其他列对我的问题没有用...
我正在尝试返回每家餐厅有多少 3 星评论,并使用排名列从高到低列出它们。
我知道我可以使用计数,我在考虑计数如果(review_stars=3(,然后按等级排序以返回它......我被困住了,任何帮助将不胜感激。谢谢。
你想要完成的是计算每家餐厅有多少3 星评论......
你真的快到了——你原来的问题确实包含了所有的答案,只是用长手写出来的。 想想你在问什么:
"我需要SELECT
have 3 star reviews
的restaurants
,并count
每家餐厅有多少人" - 您缺少的基本语法是GROUP BY
- 它将每个餐厅的所有结果分组到一行中。
SELECT restaurant, count(*) as 3_star_count from table where review_stars = '3' GROUP BY restaurant
这是一个基本示例。 但是从你的要求.此语法应该为您提供每家餐厅的 3 星评论数量。
我建议您研究SQL
条款以及它们的含义,@Alexis先前的评论中所述。WHERE
子句和GROUP BY
子句(尤其是这个(是你想在这里理解的。