]> git.8kb.co.uk Git - postgresql/pg_2d_arrays/blob - pg_array_agg_mult.sql
Initial commit
[postgresql/pg_2d_arrays] / pg_array_agg_mult.sql
1 -- To aggregate rows into 2 dimensional arrays see the following custom aggregate by Erwin Brandstetter
2 -- http://stackoverflow.com/questions/9832973/initial-array-in-function-to-aggregate-multi-dimensional-array
3
4 CREATE AGGREGATE public.array_agg_mult (anyarray)  (
5     SFUNC     = array_cat
6    ,STYPE     = anyarray
7    ,INITCOND  = '{}'
8 );
9
10 -- E.g.
11 -- TEST=# SELECT array_agg_mult(ARRAY[ARRAY[a,b]]) 
12 --        FROM (SELECT 1 AS a, 2 AS b UNION SELECT 2 AS a, 4 AS b) t;
13 --  array_agg_mult
14 -- ----------------
15 --  {{1,2},{2,4}}
16 -- (1 row)