我有一个由user_id和item_id组成的Hive表(用户已购买的项目的ID).我想获得购买第1项而不是第2项和第3项的所有用户的列表.
为此,我编写了简单的查询:
SELECT user_id, collect_set(item_id) itemslist FROM mytable
WHERE item_id in (1, 2)
GROUP BY user_id
HAVING -- what should I put here???
Run Code Online (Sandbox Code Playgroud)
如您所见,我不知道如何检查数组itemslist是否包含1而不是2.
你怎么做到这一点?如果有更有效的方法,请告诉我两种(或更多)方法?