Re: Sortierreihenfolge

From: Andreas Kretschmer <akretschmer(at)internet24(dot)de>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Sortierreihenfolge
Date: 2011-12-02 17:01:21
Message-ID: 4ED90461.3000105@internet24.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Am 02.12.2011 17:39, schrieb bernhard:
>
> Hallo,
>
> wieder mal eine Frage zur Sortierung. Evtl. ja ganz einfach, aber so
> recht will es nicht klappen.
>
> Beispiel:
>
> CT, E58, 1, 100, 20, 200, 25, 12
>
> soll werden:
>
> 1, 12, 20, 25, 100, 200, CT, E58
>
> also die Zahlen numerisch sortiert und dann die Texte alphabetisch.
>
> Ich habe es mit ORDER BY lpad (code, 3, '0') und ähnlichem versucht, und
> es sieht auch alles so ähnlich aus, aber halt nie genau so.
>
> Auch mit zig mal hin- her casten, bin ich nicht so recht weitergekommen.
>
> Hat jemand einen Tip für mich.

Ist zwar ecklig, aber das ist Dein Tabellendesign ja auch ;-)

> test=*# select * from bernhard ;
> t
> -----
> CT
> E58
> 1
> 100
> 20
> 200
> 25
> 12
> (8 rows)
>
> test=*# select * from ( select * from bernhard where length(regexp_replace(t,'[^0-9]','','g')) = length(t) order by regexp_replace(t,'[^0-9]','','g')::int) foo union all (select * from bernhard where length(regexp_replace(t,'[^0-9]','','g')) != length(t) order by t) ;
> t
> -----
> 1
> 12
> 20
> 25
> 100
> 200
> CT
> E58
> (8 rows)

HTH, Andreas

--
Andreas Kretschmer
http://internet24.de

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message bernhard 2011-12-02 17:05:59 Re: Sortierreihenfolge
Previous Message bernhard 2011-12-02 16:39:45 Sortierreihenfolge