0

テーブルには 2 つの列があります。1 つ目は人の名前、2 つ目は映画のタイトルです。基本的に、最初の表は各人のお気に入りの映画を示しています。

私が MS-Access で達成しようとしているのはこれです。2 つの映画タイトルの上位 10 の組み合わせを生成するには、両方の映画タイトルがお気に入りとしてリストされている学生の数でランク付けします。

テーブルは「FavoriteMovies」です。学生名である最初の列は「ProfileID」です。映画のタイトルである 2 番目の列は「FavoriteMovie」です。

各組み合わせで同じ映画を 2 回作成することはできず、各組み合わせの順序は関係ありません。つまり、タイタニックとゴッドファーザー = ゴッドファーザーとタイタニックです。

4

1 に答える 1

3

私はそれをテストするためのアクセス権を持っていませんが、このようなものはうまくいくはずです:

Select Top 10
  fm1.FavoriteMovie As Movie1,
  fm2.FavoriteMovie As Movie2,
  Count(*) As TotalLikes
From
  FavoriteMovies fm1
    Inner Join
  FavoriteMovies fm2
    On fm1.ProfileID = fm2.ProfileID And
       fm1.FavoriteMovie < fm2.FavoriteMovie
Group By
  fm1.FavoriteMovie,
  fm2.FavoriteMovie
Order By
  3 Desc
于 2012-11-21T23:28:22.973 に答える