2016-03-20 4 views
0

Я пытаюсь вернуть количество общих фильмов, которые есть у пользователя 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

Просто добавьте HAVING count(*)>=50 после GROUP BY

+0

Спасибо, я подумал, что кто-то сказал мне, что вы не можете использовать «HAVING» в HIVE, но он работал нормально. –

Смежные вопросы