基本上尝试编写一个查询来选择movie_cost和每个类型的平均movie_cost。所以我要说我有3类电影,戏剧,动作和喜剧。每种类型的电影都有自己的movie_cost类型。如何获得每种类型的平均movie_cost?
另外,我需要找到平均电影费用和个人电影费用之间的百分比差异。我知道我必须把movie_cost减去平均movie_cost,除以平均movie_cost乘以100。
到目前为止,我已经得到了这个,我不知道该去哪里:
SELECT movie_cost, AVG(movie_cost), (COUNT(movie_cost - AVG(movie_cost))/AVG(movie_cost)*100))
FROM MOVIE
GROUP BY movie_cost;
有人可以帮忙吗?
答案 0 :(得分:4)
您可以使用分析函数执行此操作:
select avg(movie_cost) over (partition by genre) as average_cost,
movie_cost,
100 * ((movie_cost - avg(movie_cost) over (partition by genre)) /avg(movie_cost) over (partition by genre)) as diff
from movies m;