我有两个配置单元表 -
Table1: col1 col2 --------- 1 b 2 c 3 d
Table2: col1 col2 col3 ---------------- 1 b x 1 b y 1 b z 2 c x 3 d x
正如您在表 2 中看到的,我有 col1 和 col2 的重复值。我想在选择时删除这些重复项。 我不关心 col3。
我正在寻找可以给我的选择查询 -
col1 col2 col3 ---------------- 1 b y 2 c x 3 d x
我尝试使用不同的 JOIN,但最终得到了重复的值。
最佳答案
使用GROUP BY
和JOIN
SELECT a.col1,
a.col2,
MAX(b.col3) AS col3
FROM Table1 a
JOIN Table2 b
ON a.col1 = b.col1
AND a.col2 = b.col2
GROUP BY a.col1,
a.col2;
I don't care about col3.
因此,如果您不希望它出现在输出中,您可以简单地使用 EXISTS
SELECT a.col1,
a.col2
FROM table1 a
WHERE EXISTS (SELECT 1
FROM table2 b
WHERE a.col1 = b.col1);
关于hadoop - Hive 通过删除重复项来连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49539727/