On Sat, Apr 14, 2012 at 1:28 AM, Abel Abraham Camarillo Ojeda
<acamari@the00z.org> wrote:
> On Sat, Apr 14, 2012 at 1:22 AM, <hamann.w@t-online.de> wrote:
>>
>>
>> Hi,
>>
>> I am looking for a feature that would select from a table with
>> k1 a
>> k1 b
>> k1 c
>> k2 a
>> k3 b
>> k3 c
>> something like
>> k1 a b c
>> k2 a
>> k3 b c
>> (Just all elements next to each other, with a space in between)
>> or perhaps an array output
>> k1 {a,b,c]
>> k2 {a}
>> k3 {b,c}
>>
>> If such an operator exists, would there be a "remove duplicates" option?
>>
>> Regards
>> Wolfgang Hamann
>>
>>
>> --
>> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-general
>
> select k, array_agg(distinct val ) from t;
>
> See the docs: http://www.postgresql.org/docs/9.1/static/sql-expressions.html#SYNTAX-AGGREGATES
obviously I forgot the group by:
select k, array_agg(distinct val ) from t group by k;