0
比方說,我有兩個表HiveQL:計數上述範圍內的值instancees內部陣列
T1:
id number
A 1
B 1
C 4
A 6
A 9
T2:
id
A
B
C
我現在要做的就是加入他們的行列,併產生TB1中每個ID都具有的所有號碼的列表。
SELECT T2.id, collect_list(T1.number)
FROM T2 LEFT OUTER JOIN T1 on T1.id = T2.id
GROUP BY T2.id
所以現在我有這樣的:
結果:
id number
A [1, 6, 9]
B [1]
C [4]
如果我想也是的次數每個ID輸出計數超標,比方說,5?我想從RESULT表中獲取另一個表。
所以:
結果2:
id number count_above_5
A [1, 6, 9] 2
B [1] 0
C [4] 0
我知道我可以爆炸的數組,然後產生一個新的表,其中數> 5和計數每ID的那些行的情況下,然後我可以加入上面的結果表與這一個,但有沒有更乾淨,更好的方式來做到這一點?如在,我可以應用一些功能的列與數組產生count_above_5?
兩個'6'和'9'比'5'更大。 'count_above_5'應該等於'2' –