如何在Impala / Hive中使用MINUS运算符?

时间:2018-03-12 16:33:57

标签: sql hive impala

如何在Impala中使用MINUS操作符查询?

示例:

表:游戏

列: Official_start,halftime_start

我想发送一个查询,其中halftime_start - official_start并将其保存为firsttimeplayed

我知道Impala或HIVE中不存在MINUS,但如果没有它,我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

MINUS是某些SQL版本中的set-operation。它在集合上运行,并且以这种方式类似于UNIONUNION ALL。它从第一个查询中获取第二个中不存在的。我认为运营商的ANSI标准是EXCEPT而不是MINUS。 Hive / Impala既不支持MINUS也不支持EXCEPT

-是减法运算符。这似乎是你想要的;它是加法或+的逆运算。不幸的是,英语减法的另一个名字是"减去",导致你的混乱。

所以,你这样做:

select (halftime_start - official_start) as firsttimeplayed
. . .