Re: Sql ORDER BY and ASC/DESC question

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: Sql ORDER BY and ASC/DESC question
Date: 2008-01-30 18:00:29
Message-ID: 14687.1201716029@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Gregory Stark <stark(at)enterprisedb(dot)com> writes:
> If you're not concerned with the planner being able to find indexes to satisfy
> these orderings (ie, you don't mind always doing a sort) you could do
> something like:

> ORDER BY
> CASE ?
> WHEN 1 THEN name ASC
> WHEN 2 THEN name DESC
> WHEN 3 THEN height ASC
> WHEN 4 THEN height DESC
> ELSE id ASC
> END

Uh, no, putting the ASC/DESC decoration inside a CASE like that is not
gonna work --- it's only allowed at the top level of an ORDER BY clause.
For numerical sort keys you can cheat by using "-x" in place of
"x DESC", but I'm not aware of any equivalent hack for text keys.

regards, tom lane

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Gregory Stark 2008-01-30 20:24:09 Re: Sql ORDER BY and ASC/DESC question
Previous Message Gregory Stark 2008-01-30 13:32:45 Re: Sql ORDER BY and ASC/DESC question