Moin Moin,
hab das kleine Problem, dass ich auf meiner Page eine kleine download zop-10 eingerichtet habe und wenn ich nun eine Datei hab die 9 downloads hab steht die immer noch vor einer mit 14 … irgendwie nimmt mysql die „1“ von der 14 als Zahl… benutze im mysql_query ganz normal order by desc…
Für Hilfe wäre ich echt dankbar.
MfG:
Jan
Mahlzeit,
… irgendwie nimmt mysql die „1“ von der 14 als Zahl…
benutze im mysql_query ganz normal order by desc…
„irgendwie“ schon. Wenn du hier genau posten würdest, wie dein „ganz normaler“ SQL-Statetement lautet, welchen datentyp die verwendeten variablen haben und in welcher Sprache du das Ganze verpackst, könnte dir evtl. jemand helfen.
Ansonsten kann man nur mutmaßen: ja klar, du sortierst eine Stringliste, und da wird die 1 immer vor der 9 erscheinen.
Für Hilfe wäre ich echt dankbar.
Für eine besser gestellte Frage bekämst du auch eine bessere Hilfe
Gruß
Sancho
Also ich finde meine Frage schon nicht schlecht…
Mahlzeit,
… irgendwie nimmt mysql die „1“ von der 14 als Zahl…
benutze im mysql_query ganz normal order by desc…„irgendwie“ schon. Wenn du hier genau posten würdest, wie dein
„ganz normaler“ SQL-Statetement lautet,
=mysql_query(„SELECT datei FROM stats ORDER BY dls DESC“);
welchen datentyp
jeweils typ Varchar und Kollation latin1_swedish_c1
die verwendeten variablen haben und in welcher Sprache du das
Ganze verpackst
PHP
könnte dir evtl. jemand helfen.
Ansonsten kann man nur mutmaßen: ja klar, du sortierst eine
Stringliste, und da wird die 1 immer vor der 9 erscheinen.Für Hilfe wäre ich echt dankbar.
Für eine besser gestellte Frage bekämst du auch eine bessere
HilfeGruß
Sancho
MfG:
Jan
Mahlzeit,
Also ich finde meine Frage schon nicht schlecht…
na, meine Antwort war ja umso besser, hab ich doch erraten:
welchen datentyp
jeweils typ Varchar und Kollation latin1_swedish_c1
Ansonsten kann man nur mutmaßen: ja klar, du sortierst eine
Stringliste, und da wird die 1 immer vor der 9 erscheinen.
Bingo!
Führ dir erst mal vor Augen, was du da genau tust: du sortierst eine Liste von Zeichenketten (Varchar). Die haben zwar für dich die inhaltliche Bedeutung von Zahlen („1“, „2“, „14“, „9“), aber an sich sind das ganz normale Zeichenketten. Alle Sortieralgorithmen für Zeichenketten gehen gleich vor: „aaron“ geht vor „abc“ geht vor „desktop“ geht vor „zz top“. Und „1“ geht vor „14“ geht vor „7345“ geht vor „9“.
Wenn du die Zahlen zahlenmäßig richtig sortieren willst, mußt du sie entweder mit einem Zahlen-Datentypen belegen (was am besten wäre), oder, wenn das nicht möglich ist, den Datentyp vor der Sortieroperation umzuwandeln. Hier siehstt du ein paar mögliche Varianten: http://lists.phpbar.de/pipermail/mysql-de/2003-July/…
Gruß
Sancho
Hattest (natürlich *g*) Recht… hab jetzt eben die Spalte auf Smallint geändert und nun läuft alles wieder bestens.
Thx und Gruß ^^
Jan