Я пытаюсь добавить какой-то уникальный идентификатор (uid) в разделы, состоящие из пар строк, то есть сгенерировать некоторый uid / тег для каждых двух строк (identifier1, identifier2) в разделе окна с размером = 2 строки .
Так, например, первые 2 строки для идентификатора X получат идентификатор A, следующие две строки для того же идентификатора получат идентификатор B и, если в разделе остается только одна строка для идентификатора X, это получит идентификатор С.
Вот что я пытаюсь выполнить, на рисунке показана структура таблицы, я вручную добавил ожидаемый идентификатор, чтобы проиллюстрировать цель:
![enter image description here](https://i.stack.imgur.com/hsJ0k.png)
Это мой текущий SQL, ntile не решает его, потому что размер раздела варьируется:
select
rowId
, ntile(2) over (partition by firstIdentifier, secondIdentifier order by timestamp asc) as ntile
, *
from log;
Уже пробовал ntile ((count (*) для раздела ...) / 2), но это не работает.
Генерация UID может быть выполнена с помощью md5 () или аналогичной, но у меня возникают проблемы с маркировкой строк, как показано выше (поэтому я могу md5 сгенерировать тег / uid)