Thread: order by

order by

From
Jodi Kanter
Date:
Is there a known problem with the SQL order by clause within postgres version 7.2.3?
I am trying to sort a field which holds file names that have some spaces as well non-alphanumeric characters, including underscores (see below).

The results of:
select study_name from study order by study_name;


  Study1a
  Study 1b
  Study  1c
  Study1d


The results of sorting in Perl (which uses Linux's underlying sort function)

Study  1c
Study 1b
Study1a
Study1d

Is there any way around this difference? Blank spaces should show up first in the sort.
Thanks
Jodi

_______________________________
Jodi L Kanter
BioInformatics Database Administrator
University of Virginia
(434) 924-2846
jkanter@virginia.edu


 

 

 

Re: order by

From
"Tomasz Myrta"
Date:
> Is there a known problem with the SQL order by clause within 
> postgres version 7.2.3? I am trying to sort a field which holds file 
> names that have some spaces as well non-alphanumeric characters, 
> including underscores (see below). 
> 
> The results of:
> select study_name from study order by study_name;
> 
>   Study1a
>   Study 1b
>   Study  1c
>   Study1d
> 
> The results of sorting in Perl (which uses Linux's underlying sort 
> function)
> 
> Study  1c
> Study 1b
> Study1a
> Study1d
> 
> Is there any way around this difference? Blank spaces should show up 
> first in the sort.
I made a test table with varchar field and filled it with your values.
I got the same result as in Perl. I have Postgresql 7.3. I'm not sure what 
you really want to get.
template1=# create table test (x varchar);
template1=# insert into test values ('Study1a');
template1=# insert into test values ('Study 1b');
template1=# insert into test values ('Study  1c');
template1=# insert into test values ('Study1d');
template1=# SELECT * from test order by x asc;    x
-----------Study  1cStudy 1bStudy1aStudy1d
(4 rows)

Regards,
Tomasz Myrta



Re: order by

From
Stephan Szabo
Date:
On Wed, 26 Mar 2003, Jodi Kanter wrote:

> Is there a known problem with the SQL order by clause within postgres
> version 7.2.3? I am trying to sort a field which holds file names that
> have some spaces as well non-alphanumeric characters, including
> underscores (see below).
>
> The results of:
> select study_name from study order by study_name;
>
>
>   Study1a
>   Study 1b
>   Study  1c
>   Study1d
>
>
> The results of sorting in Perl (which uses Linux's underlying sort function)
>
> Study  1c
> Study 1b
> Study1a
> Study1d
>
> Is there any way around this difference? Blank spaces should show up
> first in the sort.

Are you in "C" locale or something like "en_US"?  In the latter, the first
is the "correct" ordering.