sql—在hiveql查询中引用计算变量

ddrv8njm  于 2021-06-24  发布在  Hive
关注(0)|答案(2)|浏览(513)

我要从sas proc sql到hive。在sas中,可以使用在使用单词calculated计算的同一查询中计算的变量。
在hiveql中有没有办法做到这一点,或者您必须在一个查询中计算变量并将其添加到表/数据集中,然后在另一个查询中使用它?
谢谢您。

qgzx9mmu

qgzx9mmu1#

这个 calculated 关键字是 proc sql 扩展,在其他数据库中不可用。典型的方法是cte或子查询:

with cte as (
      select . . ., . . . as new_column
      from . . .
     )
select t.*, <new_column expression>
from cte;

或者类似的子查询。

8mmmxcuj

8mmmxcuj2#

所有的 calculated sas中的关键字does允许您引用前面在select子句中定义的变量,而无需重新键入派生该变量的代码。在其他sql方言中,您只需再次重复逻辑即可。
所以不用这样的代码来引用bmi的值

select gender
     , wt/ht**2 as bmi
     , case when (calculated bmi > 30) then 1 else 0 end as obese
from have

你只需要重新计算体重指数。

select gender
     , wt/ht**2 as bmi
     , case when ((wt/ht**2) > 30) then 1 else 0 end as obese
from have

相关问题