配置单元中的sql计算列

zf2sa74q  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(347)

我有这个表,我想让计算列从最右边。

我的逻辑如下:

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

但是我可以用sql翻译

af7jpaap

af7jpaap1#

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

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

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

相关问题