我把数据放在这样的表格里:
col1 col2 col3
A B 3
A B 1
A B 2
C B 1
我想得到所有独特的 col1
以及 col2
包含某些列col3的。例如,包含“2”的col1和col2的所有组。
我想这样做:
select col1, col2 from sometable
group by col1, col2
having col3=1 and col3=2
但我希望它只返回col3中同时有1和2示例的组。因此,查询后的结果应返回:
col1 col2
A B
我该如何在Hive中表达这一点?谢谢您。
2条答案
按热度按时间i2loujxw1#
我认为下面提到的问题将对你的问题有用。
luaexgnf2#
我不知道为什么其他人删除了正确的答案,然后几乎正确,但我会把他们的备份。
如果确实要返回所有符合条件的记录,则需要执行子选择并连接回主表以获取它们。
其要点是将行集缩小/过滤到(1,2)中要测试col3的行,然后计算
DISTINCT
col3的值,以确保1和2都存在,而不仅仅是1&1或2&2。