【问题标题】:mySQL Using Average with Group By FunctionmySQL 使用按函数分组的平均值
【发布时间】:2014-11-17 02:03:34
【问题描述】:

我需要按类型查找电影的平均价格。 表格是电影 (movie_genre) 和价格 (price_rentfee) 我试过了:

select movie_genre, avg(price_rentfee)
from movie, price
group by movie_genre;

它按类型列出电影的平均租金, 但他们的平均租金是一样的。 有没有一种方法可以按类型进行平均?

【问题讨论】:

  • movieprice是什么关系? JOIN 条件在哪里?

标签: mysql group-by average


【解决方案1】:

你的查询说

FROM movie, price

这可能是一个错误。它生成电影和价格的所有可能组合。您可能需要这样的东西来获得有用的结果。

FROM movie
JOIN price ON movie.movie_id = price.movie_id

【讨论】:

    【解决方案2】:

    您的查询需要键列来连接两个表。

    select movie_genre, avg(price_rentfee) as avgPrice
    from movie, price
    where movie.movie_id = price.movie_id
    group by movie_genre;
    

    select movie_genre, avg(price_rentfee) as avgPrice
    from movie
    Left Join price
         on price.movie_id = movie.movie_id
    group by movie_genre;
    

    【讨论】:

      【解决方案3】:

      原来我错过了一个 join、group by 和 having 子句。我正在寻找的答案是

      select movie_genre, avg(price_rentfee)
      from price 
      right join movie 
      on price.price_code = movie.price_code group by movie_genre;
      

      抱歉这个模棱两可的问题,感谢您的帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-27
        • 2022-11-19
        • 1970-01-01
        • 2018-02-01
        • 2022-10-13
        • 2021-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多