2013-03-27 48 views
0

嗨,我有以下数据模型。最高电影的评级等级是什么?

enter image description here

我需要找到其中最大的电影陷入了得分的排名。 我写了以下查询,我的培训师告诉我是错误的。

SELECT 
    COUNT(DISTINCT r.movieratingid) AS rank 
FROM 
    Rating r JOIN movie m ON r.movieratingid = m.rating_movieratingid 
GROUP BY count(distinct r.movierating) 
HAVING count(m.movieid) = (SELECT sum(m1.movieid) from movie m1 
Where m.movieid = m1.movieid) 

请告诉我上述查询有什么问题。


  • 电影台

enter image description here


  • 评级表

enter image description here

+0

你可以给样本记录你想要的结果? – 2013-03-27 06:35:43

+0

我的培训师告诉我不要创建一个数据库并测试它,我必须分析数据模型,并且只写入查询 – user1844638 2013-03-27 06:36:58

+0

那个数据模型非常大我已经将其剪下来在这里显示它 – user1844638 2013-03-27 06:38:49

回答

1

我不知道我理解你完全..你可以试试这个

SELECT movierating, COUNT(r.movieratingid) AS rank 
FROM 
Rating r 
INNER JOIN movie m ON r.movieratingid = m.rating_movieratingid 
GROUP BY r.movierating 
+0

嗨,我收到一个错误,无效使用组函数执行您的查询。 – user1844638 2013-03-27 07:47:49

+0

编辑查询trynow – alwaysLearn 2013-03-27 07:49:33

+0

嗨,这个作品,但如何检查当他们两个具有相同的评价? – user1844638 2013-03-27 07:57:49

1

这将显示在降与评价电影的编号顺序评级。

SELECT r.movierating, COUNT(r.movieratingid) AS rank 
FROM 
Rating r 
INNER JOIN movie m ON r.movieratingid = m.rating_movieratingid 
GROUP BY count(r.movierating) order by 2 desc