Sortierprobleme mit MySQL
Florian
- php
0 Ilja0 Jan0 Achim Schrepfer
hallo,
ich wollte gerne mit folgendem string "select * from tabelle order by zellenname asc" dafür sorgen, daß aufwärts sortiert wird. das tut es auch, aber wie folgt:
1
10
100
1000
1001
.
.
.
2
20
200
wie kann ich dafür sorgen, daß er das wie gedacht 1,2,3,4...1000 ändert?
yo,
wie kann ich dafür sorgen, daß er das wie gedacht 1,2,3,4...1000 ändert?
welchen typ hast du den für das feld gewählt, etwa einen string anstelle eines numerischen typs ?
Ilja
Sieht mir nach einem falschen Feld-Typ aus.
1
10
100
1000
1001
.
.
.
2
20
200
Bei Zeichenketten-Feldern (zB Varchar) werden die Ziffern als Buchstaben gesehen, und da wird eben so sortiert, wie in Deinem Beispiel.
Wenn Du das Feld als Zahlen-Feld (zB INT) definierst, werden die Zahlen richtig erkannt und auch als Zahlen sortiert.
lg, Jan
Hi,
es kann eigentlich nur daran liegen, dass der Spaltentyp kein Zahlen-, sondern ein Zeichenkettentyp ist (also varchar und nicht int, float oder sowas). Ändere den Spaltentyp mal auf int und die Sortierung wird funktionieren.
BTW kann man die Sortierfolgen auch beliebig beeinflussen: http://aktuell.de.selfhtml.org/tippstricks/datenbanken/sqlsort/index.htm ;-)
viele Grüße
Achim Schrepfer