TeisL Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 Hei, Jeg har et system nå hvor jeg henter ut et dataset fra databasen hvor det er en kolonne som inneholder referansenummer som er av typen NO/2010/1,NO/2010/2,...,NO/2010/10,osv. Problemet mitt her et at når denne sorteres, så sorteres det slik: NO/2010/1,NO/2010/10,NO/2010/2 osv. Jeg ønsker jo at den skal sortere NO/2010/1,NO/2010/2,...,NO/2010/9,NO/2010/10 osv. Jeg tror det hadde vært riktig sortert om det hadde vært 01 i stedet for 1, men nå har dette systemet vært i drift en del år og det er flere 1000 rader i denne tabellen, så det vil være mye arbeid å gå inn å gjøre om på det. Er det noen som har noen tips til hvordan jeg kan få det til å sortere riktig som er litt mindre arbeid? Takker på forhånd for svar. Lenke til kommentar
TheClown Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 Feilpost. Med mindre du bruker PHP til å sortere i et array skal du til Database-forumet Lenke til kommentar
PerB Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 Problemet mitt her et at når denne sorteres, så sorteres det slik: NO/2010/1,NO/2010/10,NO/2010/2 osv. Her er det blanding av bokstaver og atll. Dermed er det snakk en teksstreng og ditt eksempel er korrekt sortert. Lenke til kommentar
AlecTBM Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 Det blir sortert alfabetisk når det burde blitt sortert alfanumerisk. Uten mer info så er det vanskelig å hjelpe deg Lenke til kommentar
PerB Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 Sortering alfa og alfanumerisk er det samme. Forskjellen blir numerisk sortering (som ikke vil fungere med tekststrenger (blandet bokstaver og tall) Lenke til kommentar
AlecTBM Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 PerB: hvor var det du lærte å sortere? Kan vell heller kalle det natural sorting Lenke til kommentar
PerB Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 ange år som progbrammerer. Trådstarter har alt i samme felt. Starter med nokstaver = Alfa(alfanumerisk sortering). Tekstfelt sorteres posisjon for posisjon. Tall-felt sorteres etter størelse. Lenke til kommentar
AlecTBM Skrevet 9. oktober 2010 Del Skrevet 9. oktober 2010 Selvfølgelig, var nok "natural order" sortering jeg var ute etter der ja. Uansett så må vi nok ha litt mer info om DB og kode rundt. Lenke til kommentar
JohndoeMAKT Skrevet 12. oktober 2010 Del Skrevet 12. oktober 2010 (endret) You will go to SQL-hell. SELECT field FROM `table` ORDER BY SUBSTRING_INDEX(field, '/', 1) ASC, CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX(field, '/', -1), '/', 1), UNSIGNED) ASC, CONVERT(SUBSTRING_INDEX(field, '/', -1), UNSIGNED) ASC; Endret 12. oktober 2010 av JohndoeMAKT Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå