gpt4 book ai didi

mysql - 4 表连接并求列的平均值

转载 作者:行者123 更新时间:2023-11-29 17:22:17 25 4
gpt4 key购买 nike

我有 4 张这样的 table

  • 用户[ID、姓名、.....]
  • 餐厅 [id、名称、.....]
  • 查看 [restaurant_id、user_id]
  • 问题 [id、review_id、分数]

    应用逻辑=>对于每个餐厅,人们可以给予评论,评论有一些问题,问题总是相同的——比如味道如何,交付等等。人们会对这些问题打分。

换言之,用户针对某些问题对餐厅进行评价

现在,在我的网络应用程序中,我想显示一个餐厅列表及其“问题表的平均得分”

我正在使用 Laravel。 Eloquent 查询生成器也会有所帮助。我想要一个计算字段作为average_ rating 和总餐馆数据。

最佳答案

您只需要这四个表之间的标准 INNER JOIN 即可,如下所示:

SELECT rs.name, avg(qt.score) 
FROM Restaurant rs
JOIN Review rv ( rv.restaurant_id = rs.id )
JOIN User ur ( ur.id = rv.user_id )
JOIN Question qt ON ( qt.review_id = rv.id )
GROUP BY rs.name
ORDER BY avg(qt.score) desc, rs.name;

该理论可以解释为:

  • 所有评论均针对餐厅

  • 我们关心用户<的评论 em>餐厅

  • 所有评论都包含问题

关于mysql - 4 表连接并求列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51188436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com