Re: select by groups

From: Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx>
To: Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: select by groups
Date: 2004-03-01 22:32:50
Message-ID: m3ekscw63x.fsf@conexa.fciencias.unam.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar> writes:

> I have a table with names of people, email address, etc, and an identifier
> that tells me which group they are in (could be a 1, 2, or 3 person group).
> Is it posible to make a query that would give me the name of the persons of
> each group in one row? Or do I have to do PL?

Use GROUP BY with an aggregator that concatenate the names. The
aggregator may be implemented in plpgsql, for instance:

CREATE OR REPLACE FUNCTION concat (text, text) RETURNS text
AS 'select case when $1 = '''' then $2 else ($1 || '', '' || $2) end'
LANGUAGE sql;

CREATE AGGREGATE concat (
BASETYPE = text,
SFUNC = public.concat,
STYPE = text,
INITCOND = ''
);

Regards,
Manuel.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Oliver Elphick 2004-03-01 22:57:28 Re: SYSDATE in PostgreSQL !?
Previous Message Martin Marques 2004-03-01 22:20:20 select by groups