Avatar billede c_k Nybegynder
22. juni 2005 - 03:06 Der er 4 kommentarer og
2 løsninger

order by integer value

jeg har en tabel med et felt kaldet seqid som beskriver hvilken rækkefølge jeg ønsker posterne udskrevet i.

når jeg udskriver værdierne bliver de skrevet som så:

1
10
...
19
2
20
...
29
9
8
7
6
5
4
3
2
1

det jeg ønsker er :

1
2
3
...

min sql:

select id, seqid, head from cats order by seqid

nogen der ved hvad min sql skal være ?
Avatar billede claus_joergensen Nybegynder
22. juni 2005 - 03:27 #1
ORDER BY seqid ASC

og DESC istedet for ASC hvis du vil have 10 9 8 7
Avatar billede claus_joergensen Nybegynder
22. juni 2005 - 03:28 #2
Avatar billede busschou Praktikant
22. juni 2005 - 06:56 #3
default er jo ASC så du får værdierne sorteret som ASC
Jeg synes det tyder på at dit seqid er en streng og ikke et tal
for strengen 1 er mindre end 10 som er mindre end 2 osv osv
Hvis det er tilfældet så er nemmeste løsning at rette seqid til en integer
Avatar billede arne_v Ekspert
22. juni 2005 - 07:07 #4
det er den bedste løsning at rette feltet type

som workaround:

ORDER BY CAST(seqid AS INTEGER)
Avatar billede c_k Nybegynder
22. juni 2005 - 12:40 #5
hvor er det skørt jeg ikke har set at [seqid] var varchar....meen det var jo os sent jeg postede ;) 

tnx gutter
Avatar billede busschou Praktikant
22. juni 2005 - 12:58 #6
godt så
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester