ORDER BY 帮助:如何获得每年的平均分数?

ORDER BY help: How to get Average score PER YEAR?

以下是我要回答的问题: 对于 2010 年至 2013 年(包括 2010 年和 2013 年)之间的每一年,显示当年上映的电影的平均得分。按年份降序排列结果。您的输出应包含两列:yr 和 avg_score.

我写了以下查询:

SELECT DISTINCT (yr), (SELECT AVG(score) FROM movie) AS avg_score

FROM movie

WHERE yr BETWEEN 2010 AND 2013

ORDER BY yr DESC;

这 returns 整个年份的平均分相同。我需要每年的平均分数来显示。有什么想法吗?

GROUP BY然后取平均值:

SELECT yr, AVG(score) AS avg_score
FROM movie
WHERE yr BETWEEN 2010 AND 2013
GROUP BY yr;

当您在没有 GROUP BY 的情况下使用 AVG 等聚合函数时,它将应用于整个 table,因此您当前的结果。