Re: Sorting by an arbitrary criterion

From: Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>
To: Craig James <craig_james(at)emolecules(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Sorting by an arbitrary criterion
Date: 2009-07-09 16:35:01
Message-ID: 2f4958ff0907090935r32f44227m13a158c6d2fcc5b2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Thu, Jul 9, 2009 at 5:26 PM, Craig James<craig_james(at)emolecules(dot)com> wrote:
> Suppose I have a large table with a small-cardinality CATEGORY column (say,
> categories 1..5).  I need to sort by an arbitrary (i.e. user-specified)
> mapping of CATEGORY, something like this:
>
>  1 => 'z'
>  2 => 'a'
>  3 => 'b'
>  4 => 'w'
>  5 => 'h'
>
> So when I get done, the sort order should be 2,3,5,4,1.
>
> I could create a temporary table with the category-to-key mapping, but is
> there any way to do this in a single SQL statement?
>

you can create translation table, join it, and sort by its key.

--
GJ

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Robin Houston 2009-07-09 16:35:19 Huge difference in query performance between 8.3 and 8.4 (possibly)
Previous Message Haszlakiewicz, Eric 2009-07-09 16:31:24 embedded sql regression from 8.2.4 to 8.3.7