Схема
create table items(id integer, number integer);
insert into items values
(1, 1),
(2, 1),
(3, 2),
(4, 2),
(5, 3);
Запрос
select id, string_agg(id::text, ',') over (order by number)
from items;
Приведенный выше запрос выдает следующее:
id | string_agg
---+-----------
1 | 1,2
2 | 1,2
3 | 1,2,3,4
4 | 1,2,3,4
5 | 1,2,3,4,5
однако я не хочу, чтобы оконная рама включала в себя какие-либо одноранговые строки текущей строки, т. Е .:
id | string_agg
---+-----------
1 |
2 |
3 | 1,2
4 | 1,2
5 | 1,2,3,4
Мне нужно что-то вроде:
range between unbounded preceding and (first peer row - 1)
Это вообще возможно?