2016-03-20 24 views
0

A ve b kullanıcısı ortak olan ortak filmlerin sayısını döndürmeye çalışıyorum. Sonuçları num >= 50 ile sınırlandırmaya çalıştığımda. Ben bir hata "Geçersiz tablo diğer adı veya sütun başvurusu 'num' verilecektir. Birleştirme ve sınırlama sayımı sayma

Ben ilişkili alt sorgu kullanmama gerek var mı?

ben yaparsanız, bir örnek verebilir misiniz.

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; 

cevap

1

Sadece bir GROUP BY

+0

'dan sonra HAVING count(*)>=50'u ekleyin. Birisi bana HIVE'da 'HAVING' özelliğini kullanamayacağınızı ancak iyi çalıştığını söyledim. –