我有这些桌子
电影分数
ID | 电影ID | 用户身份 | 分数 |
---|---|---|---|
1 | 1 | 1 | 10 |
2 | 2 | 1 | 5 |
电影
ID | 姓名 | 收藏 |
---|---|---|
1 | 星际穿越 | 1 |
2 | 黑暗骑士 | 2 |
3 | 闪灵 | 1 |
4 | 阿甘 | 2 |
这里我们知道 user_id 1 对《星际穿越》和《黑暗骑士》的评分分别为 10 和 5。知道这一点后,我可以向该用户推荐 2 部电影 - 《闪灵》和《阿甘正传》,因为它们与前两部电影有类似的收藏。但由于他对《星际穿越》的评价高于《黑暗骑士》,我可以猜测他更喜欢第一集而不是第二集。
所以顺序应该是:
- 《闪灵》(与《星际穿越》同系列,用户评分为 10)
- 阿甘正传(与《黑暗骑士》同集,用户评分为 5)
小提琴
附言。如果集合中没有任何评分的电影,则查询将不会返回电影。要返回它们,您可以使用 LEFT JOIN。对于此类电影,平均分数将设置为 NULL - 您可以根据附加排序表达式将它们放置在输出的开头或结尾。