在SQL中,我可以获得一组数字的平均值吗?但只能针对那些具有匹配标签的记录



我有两个MySQL表,一个表包含项目信息(称为项目(,另一个表则包含这些项目的客户评论(称为评论(。

项包含标签作为基于文本的主键,以及其他一些属性。评审包含一个自动递增的评审ID,以及作为外键的项目标签,然后是5分的评审分数。

例如:

Item
| LABEL | INFO_1 | INFO_2 | etc|
book    fict     2010
book2   nonfic   1997
...
Review
| REVIEWID | LABEL | SCORE |
001        book     4
002        book     5
003        book2    5

我想创建一个视图,这样我就可以看到每个项目的平均评论分数。我已尝试选择

AVG(review.score) AS avgscore 

但这会返回系统中每个评论的相同平均值,而不会按项目标签进行分隔。我需要进行某种联接还是添加更多的参数?如果这是个愚蠢的问题,我很抱歉。我对MySQL不是很流利。

我想要的结果如下:

AverageScoreView
| LABEL | AVGSCORE |
book      4.5
book2      5

您可以使用:

SELECT LABEL, AVG(SCORE) AS AVGSCORE
FROM Review
GROUP BY LABEL

相关内容

  • 没有找到相关文章

最新更新