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. Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>, pgsql-sql(at)postgresql(dot)org
- Subject: Re: Sql ORDER BY and ASC/DESC question
- Date: Wed, 30 Jan 2008 13:00:29 -0500
- Message-id: <14687.1201716029@sss.pgh.pa.us> <text/plain>
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
Home |
Main Index |
Thread Index