Das soll absteigend sortiert sein?

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 :smile:

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
Hilfe :smile:

Gruß

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