[MySQL] ORDER BY sortiert nicht richtig

Vronni

Grünschnabel
Eigentlich steh ich vor dem Problem schon lange, aber im Moment nervts mich richtig an.

Ich habe in meiner Datenbank die Punkte von Usern gespeichert und möchte diese nun sortiert ausgeben - mit ORDER BY punkte DESC.
Mein Problem ist aber, dass das nicht richtig sortiert. Wenn ein User beispielsweise 22 Punkte hat und ein anderer 100, wird der mit den 22 Punkten zuerst ausgegeben - und das ist ja nicht der Sinn der Sache, ich will die Punkte schließlich absteigend ausgeben und nicht irgendwie durcheinander (so siehts dann im Endeffekt aus, wenn einer 0 hat, ein weiterer 10, 200, 3267, usw...).
Kann ich das irgendwie verhindern? Mich nervt das nämlich doch ziemlich.
 
Zeichenketten werden anders als Zahlen nicht numerisch sonder lexikographisch sortiert. Du verwendest also den falschen Spaltentypen oder müsstest daraus erst einen numerischen Typen machen.
 
Auf Deutsch: mit varchar 's nicht?
Würds denn mit INT gehen oder muss ich was ganz anderes nehmen? Ich kenn mich da noch net so aus. ^.^
 
Solange es sich um Ganzzahlwerte handelt, ist INT genau richtig. Bei nur positiven Ganzzahlwerten kannst du sogar durch den vorzeichenlosen Typ „INT UNSIGNED“ den Wertebereich im Positiven verdoppeln.
 

Neue Beiträge

Zurück