Вычисляем столбец в Улье - PullRequest
0 голосов
/ 06 июня 2018

У меня есть эта таблица, и я хочу, чтобы вычисляемый столбец имел форму справа.

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 голосов
/ 06 июня 2018

Вы можете сделать это с помощью оконных функций:

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

Это производит число.Вы можете создать строку, как вам нравится.

...