aggregate that returns array

From: "David M(dot) Kaplan" <dmkaplan(at)ucdavis(dot)edu>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: aggregate that returns array
Date: 2002-07-02 01:25:18
Message-ID: 3D2100FE.8000507@ucdavis.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Has anyone considered creating an aggregate function that returns an
array of all matching rows? I am not sure if this makes much sense from
a speed point of view or is possible, but it would help denormalizing
tables when necessary. For example, consider a table that looks as follows:

SELECT * FROM t;
id | value
----+-------
1 | 1.5
1 | 2.5
1 | 3.5
2 | 4.5
2 | 5.5
(5 rows)

It would be nice to be able to do a query as follows:

SELECT id, agg_array(value) FROM t GROUP BY id;
id | agg_array
----+-----
1 | {1.5,2.5,3.5}
2 | {4.5,5.5}
(2 rows)

Thanks,
David Kaplan

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Christopher Kings-Lynne 2002-07-02 02:48:26 Re: (A) native Windows port
Previous Message Tom Lane 2002-07-01 17:10:01 Re: [PATCHES] Reduce heap tuple header size