From: | Mihail Nasedkin <m(dot)nasedkin(at)gmail(dot)com> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Агрегация массивов |
Date: | 2010-12-12 11:24:57 |
Message-ID: | AANLkTi=-6uuuOPTq2hwLn-KZ=qpmbmL-cppU9r+qM4KT@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Как обычно, доброго всем.
Встала задача агрегировать не одиночные значения, а массивы в один
результирующий массив.
Пока смог реализовать такой, неуклюжий вариант:
select id,
string_to_array(
array_to_string(
array_concat(
array_to_string(arr, ',')
)
, ',')
, ',')::int[]
from (
values
(0, array[0]),
(1, array[1,2]),
(1, array[3,4,5])
) v (id, arr)
group by id
;
Результат:
1;"{1,2,3,4,5}"
0;"{0}"
Результат тот, который требуется, но можно ли сделать агрегацию
массивов в одной функции?
--
---
С уважением,
Михаил Наседкин
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitriy Igrishin | 2010-12-12 11:42:17 | Re: [pgsql-ru-general] Агрегация массивов |
Previous Message | Mihail Nasedkin | 2010-11-19 20:37:08 | Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Оптимизация на уровне ОС. |