Toon posts:

[Mysql] goede order by volgorde met nummers

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een kolom met vraagnummers. Die er zo uit ziet: 1 2 3 4 5 5a 5b 8 8a 9 9a 10 10a 11 11a 12 12a. Als ik nu order by op deze kolom komt na 1 de 10. Ik wil natuurlijk eerst 1 tm 9 en daarna pas 10 en hoger. Weet iemand hoe dit kan in een query. Het is een varchar veld waar de nummers met cijfers in staan.
Bedankt Hessel

  • Stephan Oudmaijer
  • Registratie: Oktober 2000
  • Laatst online: 16-08-2023
ja gek he! Je gebruikt ook waarschijnlijk Strings en geen Integers voor je nummers, dan krijg je dit soort dingen. Moet je je structuur omgooien, nummer + toevoeging appart nemen, en dan op number + toevoeging sorteren.

Ik weet niet of er een workaround voor dit is maar voor zover ik weet niet. (Aangezien ik niet veel weet kan er best een workaround zijn :))

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:55

gorgi_19

Kruimeltjes zijn weer op :9

Volgens mij zijn er 2 mogelijkheden:
1. Kolom toevoegen (1 kolom type integer, ander type varchar)
2. ipv 1 01 schrijven, je krijgt dus: 01,02,03 etc. Dit zal vast ook wel met behulp van een query gedaan kunnen worden.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

kijkt u eens :)
code:
1
2
3
4
5
6
7
8
9
10
select (0+test) as zonderzooi,test from testgot order by zonderzooi asc;
+--------+------+
| testje | test |
+--------+------+
|      1 | 1    |
|      1 | 1a   |
|     10 | 10   |
|     12 | 12b  |
+--------+------+
4 rows in set (0.00 sec)


tada :) hoplakee

[ Voor 0% gewijzigd door Verwijderd op 25-09-2002 00:31 . Reden: mwah misschien netter om int+test te doen ]


Verwijderd

Topicstarter
Super bedankt.
Het werkt perfect :)

Hessel

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
zo werkt ie ook als er bv. eerst 1b en dan 1a in de database gezet is:
code:
1
select (0+test) as zonderzooi, test from testgot order by zonderzooi, test

Verwijderd

Verwijderd schreef op 25 september 2002 @ 00:37:
Super bedankt.
Het werkt perfect :)

Hessel
your welcome
kost waarschijnlijk wel meer performance als je erg grote tabel hebt, maar als je dmv je where je zoekresultaat limiteert etc is het wel te doen denk ik :)

owja je hoeft niet onder elke post je naam te zetten, die weten we nu _/-\o_ en als mensen het niet meer weten, hij staat ook nog eens links naast je post, lijkt me voldoende :+ ;) thanks

Verwijderd

marcusk schreef op 25 september 2002 @ 00:42:
zo werkt ie ook als er bv. eerst 1b en dan 1a in de database gezet is:
code:
1
select (0+test) as zonderzooi, test from testgot order by zonderzooi, test
bedankt dat je me zo intelligent aanvult _/-\o_ :9
Pagina: 1