如何使用hive sql查询查找表中不存在的行?

wnrlj8wa  于 12个月前  发布在  Hive
关注(0)|答案(1)|浏览(132)

我的数据是这样的:
| ID|阶段_1|阶段2|
| --|--|--|
| 1 |一|F|
| 1 |B| G|
| 1 |C| H|
| 2 |一|F|
| 2 |B| G|
| 2 |C| H|
| 3 |一|F|
| 3 |B| G|
| 4 |一|F|
| 4 |B| G|
我想找到Stage_1 = A存在但Stage_2 = H不存在的唯一ID的数量。这里,对于ID = 3ID = 4,A存在于Stage_1中,但在Stage_2中,对于ID = 3ID = 4没有H
所以这里的预期结果是2。
Outer join不适用,因为我使用hive sql终端只从数据库中的一个表中获取数据。

qhhrdooz

qhhrdooz1#

您可以尝试将表的联接保留给表本身,并计算空值

SELECT COUNT(DISTINCT t1.ID)
FROM your_table t1
LEFT JOIN your_table t2
  ON t2.Stage_1 = t1.Stage_1
    AND t2.Stage_2 = 'H'
WHERE t1.Stage_2 = 'A'
AND t2.ID IS NULL

相关问题