Hive中的计算列

时间:2018-06-06 11:08:34

标签: sql hive calculated-columns

我正在使用此表,我想将计算出的列格式设置为最右侧。

Sample Table

我的逻辑如下:

For all IDs 
   For all rows 
     IF (delta <= 2 OR delta = NULL) { "Observation " + counter' }
     ELSE { counter +1; "Observation " + counter; }
   reset counter to 1

但我可以在SQL中翻译它

1 个答案:

答案 0 :(得分:0)

您可以使用窗口函数执行此操作:

select t.*,
       sum(case when delta > 2 then 1 else 0 end) over (partition by id order by time end) + 1
from t;

这会产生一个数字。你可以随意构造字符串。