【问题标题】:How to provide multiple rating如何提供多重评分
【发布时间】:2016-03-26 17:43:14
【问题描述】:

我需要在这样的评级系统中工作:

我这样创建了一个名为 review 的表:

我试过这个查询。

 SELECT AVG(`food`) as foodavg FROM review where `restaurant_id` = '10'

但它只提供平均食物。我需要为每个这样的餐厅展示结果。

请告诉我这个结构是否正确。我想不出一个查询来显示单个餐厅的平均评分。它会使用一些连接还是嵌套选择查询?

请提供任何解决方案。 谢谢。

【问题讨论】:

  • 计算“平均值”,可以使用AVG()mysqltutorial.org/mysql-aggregate-functions.aspx
  • 是的,我可以这样做,但问题是为同一用户运行一个查询。像表中的 10 个。
  • 然后使用WHERE 子句。如果您尝试过某事,请将其包含在您的问题中。我给你的那个链接显示 SELECT AVG(buyPrice) average_buy_price - buyPrice 是你希望平均的列。使用别名也是可能的,所以你可能错过了使用它。
  • 查看此问答stackoverflow.com/questions/17004356/…stackoverflow.com/questions/32160371/php-mysql-star-rating 可能会给您一些建议。 OP的问题中有一个链接。如果您愿意,可以使用这些关键字“star rating mysql”来进一步研究。
  • 请检查我已经改变了我的问题,这可能有助于了解更多我需要什么。谢谢

标签: php mysql mysqli rating rating-system


【解决方案1】:

我对 SQL 没有太多经验,但我认为您正在寻找的是:

SELECT (AVG(`food`)+AVG(`staff`)+AVG(`value`)+AVG(`atmosphere`))/4 FROM review 
where `restaurant_id` = '10'

【讨论】:

  • 即使我不确定逻辑是否以这种方式适用于多个评级,但我想您使用查询获得结果是绝对正确的。
  • 它认为应该是。这是您对一家餐厅的四个评分的平均值。
猜你喜欢
  • 1970-01-01
  • 2011-07-20
  • 2020-09-06
  • 1970-01-01
  • 2021-05-08
  • 1970-01-01
  • 2020-12-18
  • 2010-12-20
  • 1970-01-01
相关资源
最近更新 更多