|
| Sortering af tal i SQL Fra : Jakob Laursen |
Dato : 31-07-03 16:48 |
|
Hvordan får man SQL til at sortere tallene 1000, 500 og 200 i korrekt række
følge - altså ikke alfanummerisk?
| |
Kasper Garnæs (31-07-2003)
| Kommentar Fra : Kasper Garnæs |
Dato : 31-07-03 17:43 |
|
Jakob Laursen wrote:
> Hvordan får man SQL til at sortere tallene 1000, 500 og 200 i korrekt
> række følge - altså ikke alfanummerisk?
"...ORDER BY feltNavn ASC" hvor feltNavn er af en af de typer der er
beregnet til tal - fx. INT.
Mvh.
Kasper Garnæs
FUT dk.edb.database
| |
Jimmy (31-07-2003)
| Kommentar Fra : Jimmy |
Dato : 31-07-03 20:07 |
|
"Kasper Garnæs" <demos@mailme.dk> wrote in message
news:3f2946ef$0$13164$edfadb0f@dread15.news.tele.dk...
> Jakob Laursen wrote:
> > Hvordan får man SQL til at sortere tallene 1000, 500 og 200 i korrekt
> > række følge - altså ikke alfanummerisk?
>
> "...ORDER BY feltNavn ASC" hvor feltNavn er af en af de typer der er
> beregnet til tal - fx. INT.
Man kan skam også sortere på text, tidspunkter osv.
Mvh
Jimmy
| |
Peter Brodersen (31-07-2003)
| Kommentar Fra : Peter Brodersen |
Dato : 31-07-03 23:43 |
|
On Thu, 31 Jul 2003 21:06:43 +0200, "Jimmy" <nyhedsgruppe@get2net.dk>
wrote:
>> > Hvordan får man SQL til at sortere tallene 1000, 500 og 200 i korrekt
>> > række følge - altså ikke alfanummerisk?
>> "...ORDER BY feltNavn ASC" hvor feltNavn er af en af de typer der er
>> beregnet til tal - fx. INT.
>Man kan skam også sortere på text, tidspunkter osv.
Ja, men har man "1000", "500" og "200" i tekstfelter, så bliver det
netop sorteret alfanumerisk (dvs. "1000", så "200", så "500"), og det
er det, den oprindelige spørger ønsker at undgå.
Har man ikke mulighed for at ændre felt-typen, kan man om ikke andet
ændre typen. MySQL-stuntet ville fx være:
SELECT tal FROM tabel ORDER BY tal+0;
En ulempe vil dog være, at indexes ikke kan bruges til at hive en på
forhånd sorteret rækkefølge ud.
--
- Peter Brodersen
Ugens sprogtip: kutyme (og ikke kotume)
| |
Jimmy (01-08-2003)
| Kommentar Fra : Jimmy |
Dato : 01-08-03 07:09 |
|
"Peter Brodersen" <usenet@ter.dk> wrote in message
news:bgc60p$dnn$2@dknews.tiscali.dk...
> On Thu, 31 Jul 2003 21:06:43 +0200, "Jimmy" <nyhedsgruppe@get2net.dk>
> wrote:
>
> >> > Hvordan får man SQL til at sortere tallene 1000, 500 og 200 i korrekt
> >> > række følge - altså ikke alfanummerisk?
> >> "...ORDER BY feltNavn ASC" hvor feltNavn er af en af de typer der er
> >> beregnet til tal - fx. INT.
> >Man kan skam også sortere på text, tidspunkter osv.
>
> Ja, men har man "1000", "500" og "200" i tekstfelter, så bliver det
> netop sorteret alfanumerisk (dvs. "1000", så "200", så "500"), og det
> er det, den oprindelige spørger ønsker at undgå.
Ja - jeg misforstod ham.
Mvh
Jimmy
| |
Thomas Finnerup (01-08-2003)
| Kommentar Fra : Thomas Finnerup |
Dato : 01-08-03 08:32 |
|
On Thu, 31 Jul 2003 18:43:04 +0200, "Kasper Garnæs" <demos@mailme.dk>
wrote:
> "...ORDER BY feltNavn ASC" hvor feltNavn er af en af de typer der er
> beregnet til tal - fx. INT.
Eller "ORDER BY Feltnavn + 0" hvis kolonnen er f.eks. varchar.
Venligst
Thomas
| |
|
|