SQL技术问询:如何对相同ID对应的rate字段值计算平均值
解决方法:按ID分组计算平均评分
你可以通过分组(GROUP BY)结合AVG()聚合函数来实现对每个唯一ID的评分求平均值的需求,修改后的SQL语句如下:
SELECT ID_song as ID, AVG(rate) as rate FROM Songs JOIN Rating USING (ID_song) GROUP BY ID_song ORDER BY ID_song;
关键说明:
AVG(rate):自动计算每个分组内rate字段的平均值GROUP BY ID_song:按照歌曲ID对结果进行分组,确保每个唯一ID只返回一条汇总记录- 保留
ORDER BY ID_song可以让结果按ID升序排列,和你原始查询的输出顺序保持一致
执行后的预期输出:
ID ¦ rate ----+------ 27 ¦ 10 28 ¦ 1 31 ¦ 2.5 41 ¦ 5 44 ¦ 4
内容的提问来源于stack exchange,提问作者Adam1212
相关产品推荐
相关产品推荐

