Skip site navigation (1) Skip section navigation (2)

Агрегация массивов

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 (view raw or flat)
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}"

Результат тот, который требуется, но можно ли сделать агрегацию
массивов в одной функции?

-- 
---
С уважением,
Михаил Наседкин

Responses

pgsql-ru-general by date

Next:From: Dmitriy IgrishinDate: 2010-12-12 11:42:17
Subject: Re: [pgsql-ru-general] Агрегация масси
Previous:From: Mihail NasedkinDate: 2010-11-19 20:37:08
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [p

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group