【问题标题】:Averaging Movie Ratings in SQL在 SQL 中平均电影评分
【发布时间】:2021-09-27 11:16:14
【问题描述】:

我有一个 SQL 数据库,用于比较评论家对电影的不同评分。我试图找出每部独特电影的评论家评分的平均值,然后创建一个新表来显示这些汇总的评分。

我尝试使用 AVG(DISTINCT()) 功能,但它只找到不同评级的平均值,而不是不同电影的平均值。对聚合的任何帮助都会很大!

预计到达时间: 样本数据示例

Movie Rating
Jaws 1
Jaws 4
Jaws 3
HomeAlone 2
HomeAlone 5

返回数据示例

Movie Rating
Jaws 2.67
HomeAlone 3.5

因此,按电影名称对所有个人评分进行平均,然后创建一个新表。

【问题讨论】:

  • 请标记您正在使用的 DBMS。也就是说,在计算平均值时,删除“distinct”并按电影添加分组。
  • 编辑您的问题并提供示例数据和所需的结果。
  • 我进行了请求的编辑!

标签: mysql sql average aggregation create-table


【解决方案1】:

一种可能的解决方案是按电影分组。

SELECT Movie, AVG(Rating) FROM [Table] GROUP BY Movie;

【讨论】:

  • 这适用于创建正确的分组!非常感谢。
【解决方案2】:

我认为这将创建您想要的答案作为新表中的输出

CREATE TABLE new_table AS 
SELECT Movie, round(AVG(Rating),2) 
FROM table_name
GROUP BY Movie;

【讨论】:

    猜你喜欢
    • 2016-04-07
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 2015-01-30
    • 2022-01-15
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    相关资源
    最近更新 更多