在 SQL 中,我可以得到一组数字的平均值,但仅限于那些具有匹配标签的记录吗?

In SQL, can I get the average of a group of numbers, but only for those records with matching labels?

我有两个 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

我想创建一个视图,以便查看每个项目的平均评论分数。我试过 select

AVG(review.score) AS avgscore 

但是 returns 系统中每条评论的平均值相同,没有按项目标签分开。我是否需要进行某种连接或添加更多参数?对不起,如果这是一个愚蠢的问题。我在 MySQL.

方面不是很流利

我想要的结果如下所示:

AverageScoreView
| LABEL | AVGSCORE |
  book      4.5
  book2      5

您可以使用:

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