【发布时间】:2018-08-24 15:33:29
【问题描述】:
movies 表中的每条记录都有:
用户 - 用户 ID
电影 - 电影 ID
评级 - 用户对电影的评分
用户 1 想要接收来自用户组 2、3、4、5、6、7 的推荐(电影列表)。
推荐的电影不应该出现在用户 1 的电影中,并且在组内的平均评分不低于 3。同时,不推荐团内3人以下观看的电影。
这是我的选择,但它不反映最后一个要求:
SELECT t2.movie
FROM movies t1 INNER JOIN movies t2
ON t1.user = 1
AND t2.user IN(2,3,4,5,6,7)
AND t2.movie NOT IN ( SELECT movie
FROM movies
WHERE user = 1 )
GROUP BY(t2.movie)
HAVING AVG(t2.rating)>=3
【问题讨论】:
标签: sql