2014-11-17 95 views
0

我需要按流派查找電影的平均價格。 表是電影(MOVIE_GENRE)和價格(price_rentfee) 我想:mySQL使用Average By Group By功能

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

它列出了影片的按流派與平均租賃費, 但平均租金是所有的人都一樣。 有沒有一種方法可以按照類型對它進行平均?

+1

表「電影」和「價格」之間的關係是什麼? 'JOIN'條件在哪裏? – ForguesR

回答

0

原來我錯過了一個連接,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; 

對不起,這個模棱兩可的問題,謝謝你的幫助。

0

您的查詢表示

FROM movie, price 

這可能是一個錯誤。它會生成電影和價格的所有可能組合。你可能需要這樣的東西來取得有用的結果。

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

您的查詢需要鍵列來連接兩個表。

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;