Horizontal aggregation?

Started by Nonamealmost 14 years ago4 messagesgeneral
Jump to latest
#1Noname
hamann.w@t-online.de

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

In reply to: Noname (#1)
Re: Horizontal aggregation?

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

In reply to: Abel Abraham Camarillo Ojeda (#2)
Re: Horizontal aggregation?

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;

#4Noname
hamann.w@t-online.de
In reply to: Abel Abraham Camarillo Ojeda (#3)
Re: Horizontal aggregation?

Hi,

I am looking for a feature that would select from a table with

If such an operator exists, would there be a "remove duplicates" option?

Regards
Wolfgang Hamann

select k, array_agg(distinct val ) from t;

See the docs: http://www.postgresql.org/docs/9.1/static/sql-expressions.h=

tml#SYNTAX-AGGREGATES

obviously I forgot the group by:

select k, array_agg(distinct val ) from t group by k;

Hi Abel,

thanks a lot.

Regards
Wolfgang Hamann