Re: UNION with ORDER BY -allowed?

Поиск
Список
Период
Сортировка
От
Тема Re: UNION with ORDER BY -allowed?
Дата
Msg-id 016701c4d882$cd032520$2766f30a@development.greatgulfhomes.com
обсуждение исходный текст
Ответ на Re: UNION with ORDER BY -allowed?  (John Sidney-Woollett <johnsw@wardbrook.com>)
Список pgsql-general
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org]On Behalf Of John
> Sidney-Woollett
> Sent: Thursday, December 02, 2004 10:10 AM
> To: chris.green@isbd.co.uk
> Cc: pgsql-general@postgresql.org
> Subject: Re: [GENERAL] UNION with ORDER BY -allowed?
>
>
> wrap the whole statement in another select

Yes you can do that, but you don't need to.  An order by clause explicitly applies the sort action
AFTER the UNION action has been performed.


Terry Fielder
Manager Software Development and Deployment
Great Gulf Homes / Ashton Woods Homes
terry@greatgulfhomes.com
Fax: (416) 441-9085



>
> select col1, col2, col5, col6 from (
>       SELECT
>           col1, col2, col5, col6
>       FROM
>           table
>       WHERE
>           col2 = 'X'
>       UNION
>       SELECT
>           col3, col4, col5, col6
>       FROM
>           table
>       WHERE
>           col4 = 'X'
> ) as t
> order by coalesce(col1, col3);
>
> John Sidney-Woollett
>
> Chris Green wrote:
>
> > It's not quite clear (to me at least) whether I can have a UNION and
> > an ORDER BY in a SELECT statement.
> >
> > What I want to do is:-
> >
> >     SELECT
> >         col1, col2, col5, col6
> >     FROM
> >         table
> >     WHERE
> >         col2 = 'X'
> >     UNION
> >     SELECT
> >         col3, col4, col5, col6
> >     FROM
> >         table
> >     WHERE
> >         col4 = 'X'
> >     ORDER BY
> >         coalesce(col1, col3)
> >
> > Is this valid syntax allowed by postgresql?  (I'm not at the system
> > where postgresql is installed at the moment so I can't just try it)
> >
> > col1 and col3 are both DATE columns.  col2 and col4 are both
> > varchar(1).
> >
> > I want the ORDER BY to order the result of the UNION.
> >
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>


В списке pgsql-general по дате отправления:

Предыдущее
От:
Дата:
Сообщение: Re: UNION with ORDER BY -allowed?
Следующее
От: Thierry Missimilly
Дата:
Сообщение: Re: pg_restore taking 4 hours!