/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste