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





Mon, 01 Jul 2002 18:25:18 -0700
"David M. Kaplan" <dmkaplan@ucdavis.edu>
aggregate that returns array
On Tue, 2002-07-02 at 03:25, David M. Kaplan wrote:
> Hi,
> 
> Has anyone considered creating an aggregate function that returns an 
> array of all matching rows?

check contrib/intagg for a function that does it for integers.

-----------
Hannu




02 Jul 2002 10:40:46 +0200
Hannu Krosing <hannu@tm.ee>
Re: aggregate that returns array