You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询求助:如何按年份统计2010-2013年电影平均评分?

修正你的电影平均评分查询语句

嘿,你的问题出在子查询没有和外层的年份做关联,而且用DISTINCT完全没必要——你现在的子查询SELECT AVG(score) FROM movie是计算整个movie表所有电影的平均分,不管外层的yr是哪一年,都会返回同一个值。

要按年份计算各自的平均评分,我们需要用GROUP BY子句按年份分组,让数据库对每一年的电影单独计算平均分。修正后的查询语句如下:

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

关键说明:

  • GROUP BY yr:告诉数据库把数据按yr(年份)分组,每一组对应一个年份的所有电影
  • AVG(score):针对每个分组(也就是每一年)计算评分的平均值,这样就能得到对应年份的平均评分了
  • 去掉了DISTINCT,因为GROUP BY已经保证每个年份只会出现一次

这样执行后,就能得到2010-2013年每年的平均评分,并且按年份降序排列啦。

内容的提问来源于stack exchange,提问作者Peter97

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:02:50