1

我正在尝试查找电影在特定时间之间获得的平均分数

SELECT SUM (score * ?) / SUM(?) AS AGGSCO
  FROM movie, casting
       INNER JOIN casting
 WHERE movie.id = casting.movieid
       AND yr BETWEEN 1930 AND 1939;

而不是问号,我想我需要出现的次数。在此之后,我需要重复代码以找到 40 到 49 之间的平均值,然后找到 50 到 59 之间的平均值。我可以使用循环还是需要重写代码?感谢您的任何建议!

ps:我用的是squirrel,不是mysql,所以语法可能不同

4

2 回答 2

1
select sum(score) / count(*) as AverageScote
from ...

甚至更好

select avg(score)
from ...
于 2014-03-24T16:25:31.773 回答
0

从我的头顶:

SELECT avg(score) AS AGGSCO, truncate(yr/10,0) AS DECADE
  FROM movie, casting
       INNER JOIN casting
 WHERE movie.id = casting.movieid
 GROUP BY truncate(yr/10,0)

另请参阅此问题

于 2014-03-24T16:29:53.340 回答