0

こんにちは私は次のデータモデルを持っています。

ここに画像の説明を入力してください

最大の映画が分類された評価のランクを見つける必要があります。私のトレーナーが私に間違っていると言った次のクエリを書きました。

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)

上記のクエリの何が問題になっているのか教えてください。


  • 映画のテーブル

ここに画像の説明を入力してください


  • 評価表

ここに画像の説明を入力してください

4

2 に答える 2

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
于 2013-03-27T07:00:27.483 に答える
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 
于 2013-03-27T07:23:32.710 に答える