Avatar billede nat Nybegynder
15. februar 2006 - 11:06 Der er 8 kommentarer og
1 løsning

order by tal i rigtigt rækkerfølge

Hej eksperter,

Hvordan skriver jeg sql'en således at order by tal, returner den rigtige rækkefølge. Pt. får jeg denne rækkefølge:
1
10
11
12
2
3
4
5
6
7
8
9

Og den rækkefølge jeg vil have ser således ud:
1
2
3
4
5
6
7
8
9
10
11
12
Avatar billede senj Nybegynder
15. februar 2006 - 11:08 #1
Hey
order by kollone asc
Avatar billede senj Nybegynder
15. februar 2006 - 11:13 #2
SELECT kolonne1, kolonne2  FROM tabel1
WHERE X = Y
ORDER BY kolonne1 asc (asc er dog default, så det kan undlades, men viser man har tager stilling)

Hvis du skriver ORDER BY kolonne1 desc får du dem omvendt.
Avatar billede teepee Nybegynder
15. februar 2006 - 11:32 #3
Det virker som om at der sorteres efter noget tekst.
Prøv evt. order by to_number(kolonne) hvis du er sikker på at alle rækker indeholder tal.
Evt. konverter kolonnen til integer/number el.lign. så skulle den altså sortere rigtigt.
Avatar billede nat Nybegynder
15. februar 2006 - 11:39 #4
Hmmm jeg har allerede order by tal asc - og tal indeholder ikke kun tal, men et enkelt bogstav foran; som dog er ens for alle! et A.
Avatar billede teepee Nybegynder
15. februar 2006 - 12:16 #5
Det er derfor at den tekst-sorterer.
Prøv evt

order by to_number(substr(kolonne, 2, length(kolonne)-1)
Avatar billede teepee Nybegynder
15. februar 2006 - 12:16 #6
Der mangler lige en slutparentes...
Avatar billede michael_stim Ekspert
15. februar 2006 - 12:19 #7
Men vær opmærksom på at hvis din string indeholder andre karaktere end tal (foruden det første hvis du bruger teepees kode), vil du få en fejl. Precis som teepee skrev tidligere.
Avatar billede senj Nybegynder
15. februar 2006 - 12:24 #8
Prøv at kører denne her som eks.

SELECT TO_NUMBER(SUBSTR(TAL,2)) FROM (
SELECT 'A9' TAL FROM DUAL
UNION
SELECT 'A2' TAL FROM DUAL
UNION
SELECT 'A10' TAL FROM DUAL
UNION
SELECT 'A317' TAL FROM DUAL)
ORDER BY 1
Avatar billede nat Nybegynder
15. februar 2006 - 13:00 #9
teepee løsning hjalp :) Tak.
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

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