Итак, у меня есть эта таблица:
create table test (
id integer,
rank integer,
image varchar(30)
);
Затем некоторые значения:
id | rank | image
---+------+-------
1 | 2 | bbb
1 | 3 | ccc
1 | 1 | aaa
2 | 3 | c
2 | 1 | a
2 | 2 | b
Я хочу сгруппировать их по id и объединить имя изображения в порядке, заданном по рангу. В mySQL я могу это сделать:
select id,
group_concat( image order by rank asc separator ',' )
from test
group by id;
И результат будет: <Б >
1 aaa,bbb,ccc 2 a,b,cЕсть ли способ, которым я могу иметь это в postgresql?
Если я попытаюсь использовать array_agg(), имена не будут отображаться в правильном порядке и, видимо, я не смог найти способ их сортировки. (Я использовал postgres 8.4)