pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruno Wolff III <bruno@wolff.to>
To: Volkan YAZICI <yazicivo@ttnet.net.tr>
Cc: Everton Luís Berz <everton.berz@gmail.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Sorting aggregate column contents
Date: Tue, 2 May 2006 19:16:02 -0500
Message-ID: <20060503001602.GC31652@wolff.to> (raw)
In-Reply-To: <20060502211340.GA188@alamut>
References: <4457C86F.8040303@gmail.com>
	<20060502211340.GA188@alamut>

On Wed, May 03, 2006 at 00:13:40 +0300,
  Volkan YAZICI <yazicivo@ttnet.net.tr> wrote:
> On May 02 06:00, Everton Luís Berz wrote:
> > Is it possible to sort the content of an aggregate text column?
> > 
> > Query:
> > select s.name, ag_concat(c.name) from state s
> > inner join city c on (c.idstate = s.idstate)
> > group by s.name
> > order by s.name;
> 
> IMHO, you can receive results ordered by using a subselect:
> 
> SELECT T.s_name, ag_concat(T.c_name)
>   FROM (SELECT s.name, c.name
>           FROM state AS s
>           INNER JOIN city AS c ON (c.idstate = s.idstate)
>           ORDER BY s.name, c.name) AS T (s_name, c_name)
>   GROUP BY T.s_name;

Note that this is nonstandard, but is an intentional (but I am not sure if
it's documented) feature of Postgres. There can be some similar situations
where you need to use OFFSET 0 to prevent optimizations that will break the
ordering.



view thread (7+ messages)  latest in thread

Message-ID: <20060503001602.GC31652@wolff.to>
Permalink:  ../20060503001602.GC31652@wolff.to/
Also on:    postgresql.org/message-id/20060503001602.GC31652@wolff.to

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: bruno@wolff.to, yazicivo@ttnet.net.tr, everton.berz@gmail.com
  Subject: Re: Sorting aggregate column contents
  In-Reply-To: <20060503001602.GC31652@wolff.to>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox