From: | Geoff Winkless <pgsqladmin(at)geoff(dot)dj> |
---|---|
To: | Sterpu Victor <victor(at)caido(dot)ro> |
Cc: | PostgreSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: DISTINCT in STRING_AGG |
Date: | 2015-11-29 20:51:32 |
Message-ID: | CAEzk6fcQa9d7yS+NTh+X09PJZyoJ54kfzVORp8oZ4BCMTCkG-g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 29 November 2015 at 18:59, Sterpu Victor <victor(at)caido(dot)ro> wrote:
> I can't skip the ordering.
> I'm sure aqjs3 is the one that produces the duplication.
> I guess subqueries are the only option, like this:
Well you could look at the intarray extension and a combination of
array_agg, uniq() and string_to_array:
http://www.postgresql.org/docs/current/static/intarray.html
but that's probably sledgehammer:nut time.
Not sure why you need to order the values you're getting back by something
other than the values themselves - is there a reason you wouldn't want the
"children" set to be ordered numerically? You can still order the outer
query by whatever you like, or you can order the aggregate by the values
themselves, it's just the DISTINCT inside the aggregate query requires that
an internal ORDER includes the ordering term in the result.
Geoff
From | Date | Subject | |
---|---|---|---|
Next Message | Geoff Winkless | 2015-11-29 20:52:52 | Re: DISTINCT in STRING_AGG |
Previous Message | Sterpu Victor | 2015-11-29 18:59:38 | Re: DISTINCT in STRING_AGG |