我正在尝试返回用户a和b共有的普通电影的数量。当我尝试将结果限制为num >= 50
时。我收到错误"无效的表别名或列引用' num'。
我是否需要使用相关子查询?
如果我这样做,请你提供一个例子。
SELECT
a.user_id, b.user_id, count(*) AS num, collect_set(m.movie_title)
FROM
ratings a
JOIN
ratings b
ON
(a.movie_id = b.movie_id)
JOIN
movies m
ON
(a.movie_id = m.movie_id AND b.movie_id = m.movie_id)
WHERE
(a.user_id <> b.user_id AND num >= 50)
GROUP BY
a.user_id, b.user_id;
答案 0 :(得分:1)
只需在HAVING count(*)>=50
GROUP BY
即可