PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Orede by befehl bei php mit SQL



dEsTrOyEr
10.11.2001, 10:43
Hi wenn ich den order by Befehl benutze, dann sortiert der mir Zahlen so:
1
10
11
12
13
14
...
2
20
21
...
3
30
31
wie kann ich das machen, das der mir die richtig sortiert?
Ich weiß nicht ob das eher ne Frage für die SQL-Section ist.

THX

Cano2
10.11.2001, 11:01
CREATE TABLE `test` (`zahl` INT, `string` TEXT)

...

SELECT * FROM `test` order by string
1 1
10 10
11 11
2 2
9 9

SELECT * FROM `test` order by zahl
1 1
2 2
9 9
10 10
11 11



Das liegt an dem typ der Spalte nach der Sortiert wird. Wenn die Spalte vom typ TEXT (o.Ä.) ist wird eine String sortierung durchgeführt, da kommt der kürzere natürlich vor dem längeren... Wenn der typ INT ist, wird der Inhalt als Zahl aufgefasst, und dementsprechend sotiert...

Wenn du also in einer Spalte nur Zahlen speichern willst, solltest du beim erstellen der table einen integert oder float typ verwenden