如何在 Impala/Hive 中使用 MINUS 运算符?
How to use MINUS operator in Impala/Hive?
如何在 Impala 中使用 MINUS 运算符查询?
示例:
Table: 游戏
列: Official_start、halftime_start
我想发送 halftime_start - official_start 的查询并将其保存为 firsttimeplayed
我知道 Impala 或 HIVE 中不存在 MINUS,但没有它我怎么能做到呢?
MINUS
在 SQL 的某些版本中是 set-operation。它对集合进行操作,这类似于 UNION
和 UNION ALL
。它从第一个查询中获取第二个查询中不存在的 rows。我相信运算符的 ANSI 标准是 EXCEPT
而不是 MINUS
。 Hive/Impala 既不支持 MINUS
也不支持 EXCEPT
。
-
是减法运算符。这似乎是你想要的;它是加法或+
的逆运算。不幸的是,减法在英文中的另一个名称是 "minus",导致您感到困惑。
所以,你只需要做:
select (halftime_start - official_start) as firsttimeplayed
. . .
如何在 Impala 中使用 MINUS 运算符查询?
示例:
Table: 游戏
列: Official_start、halftime_start
我想发送 halftime_start - official_start 的查询并将其保存为 firsttimeplayed
我知道 Impala 或 HIVE 中不存在 MINUS,但没有它我怎么能做到呢?
MINUS
在 SQL 的某些版本中是 set-operation。它对集合进行操作,这类似于 UNION
和 UNION ALL
。它从第一个查询中获取第二个查询中不存在的 rows。我相信运算符的 ANSI 标准是 EXCEPT
而不是 MINUS
。 Hive/Impala 既不支持 MINUS
也不支持 EXCEPT
。
-
是减法运算符。这似乎是你想要的;它是加法或+
的逆运算。不幸的是,减法在英文中的另一个名称是 "minus",导致您感到困惑。
所以,你只需要做:
select (halftime_start - official_start) as firsttimeplayed
. . .