计算连接数并限制计数

时间:2016-03-20 02:20:53

标签: sql count hive

我正在尝试返回用户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;

1 个答案:

答案 0 :(得分:1)

只需在HAVING count(*)>=50

之后添加GROUP BY即可