解決策が見つからず、適切な方向に向いていないという問題が発生しました。ジャンル別ムービーあたりの平均的なジャンルSQL Server 2012
テーブルでは、いくつかのムービーを複数のジャンルに分類しています。例えば、トイストーリーはジャンルに含まれています。子供、コメディ、アニメーション。
私はどのジャンルが最も鮮明で、どのジャンルが典型的な映画のいくつかのリストに掲載される傾向にあるので、混乱しているかどうかを見つけようとしています。
データセットの各ジャンルごとに、そのジャンルの映画が平均でどれくらいの数のジャンルであるかを示します。たとえば、アクション映画は1.3ジャンルであり、平均アドベンチャー映画は2.9ジャンルであるため、アクション映画はより明確に定義されたジャンルです。
は以下の表のサンプルですが、ここで参照のためにそれらのテーブルと値を持つSQLエディタです:https://blazerme.herokuapp.com/queries/new
3テーブル:
ジャンルテーブル:
id name
1 Action
2 Adventure
3 Animation
4 Children's
5 Comedy
genre_moviesテーブルには、 :
id movie_id genre_id
1 1(Toy Story) 3(Animation)
2 1(Toy Story) 4(Children's)
3 1(Toy Story) 5(Comedy)
4 2(GoldenEye) 1(Action)
5 2(GoldenEye) 2(Adventure)
6 2(GoldenEye) 16(Thriller)
ムービーテーブル:
id title release_date
1 Toy Story (1995) 1995-01-01
2 GoldenEye (1995) 1995-01-01
3 Four Rooms (1995) 1995-01-01
これまでのところ、私はgenre_idの数を超えて平均化しようとしています。
SELECT
name, AVG(c.count)
FROM
(SELECT
g.name AS name, COUNT(gm.genre_id) AS count
FROM
genres g
INNER JOIN
genres_movies gm ON g.id = gm.genre_id
INNER JOIN
movies m ON m.id = gm.movie_id
GROUP BY
g.name) c
GROUP BY
name
をしかし、それは単に私のgenres_movies
表から各ジャンルの数を与える:下記を参照してください。私はこれを各ジャンルの映画のジャンルの平均数に変える方法を理解していないようです。
あなたは、問題のより多くの例と予想される出力を追加してもらえますか?ホラー映画のための記録を見ることができません。 –
https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-クエリ – Strawberry
@DarshanMehtaこのケースでは、ホラーはジャンルテーブルのid = 11です。私はホラーをアクションに置き換え、少し明確にしました。この質問は、私が理解するのが難しいので、もっと明快にする必要がある場合はお知らせください。これまでに私が行った作業と、さらにいくつかの例を表に追加しました。 – CharlieE