Допустим, у меня есть массив потенциально дублированных строк
[a,a,b,c,a,b,c,d]
Я бы хотел отменить развертывание этого массива, чтобы я мог получить индекс, а также подсчет того, сколько раз этот элемент уже был не вложен в массив. Все мои массивы относительно короткие (25 элементов или меньше).
Мой ожидаемый результат будет:
element, idx, times_seen
a, 1, 1
a, 2, 2
b, 3, 1
c, 4, 1
a, 5, 3
b, 6, 2
c, 7, 2
d, 8, 1
Первые два бита я могу сделать довольно легко
left join lateral unnest(arr) with ordinality as a(element, idx)
, но я бы тоже хотел сыграть в Times_seen.