Ms-Access表中最受欢迎的电影组合

时间:2012-11-21 23:22:23

标签: sql ms-access database-design

表有两列。第一个是一个人的名字,第二个是电影名称。 基本上,第一张桌子描绘了每个人最喜欢的电影。

我想在MS-Access中完成的是这个。 要生成2个电影片名的前10个组合,按照将两个电影片段列为最爱的学生数量进行排名。

该表是“FavoriteMovies” 学生姓名的第一列是“ProfileID” 作为电影标题的第二列是“FavoriteMovie”

每个组合都不能拥有相同的电影两次,并且对于每个组合顺序无关紧要,这意味着泰坦尼克号和教父=教父&泰坦尼克

1 个答案:

答案 0 :(得分: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