Abfrage nach Datum sortieren

Sasser

Erfahrenes Mitglied
Hallo Leute!

Ich hole per:

PHP:
$ResultPointer = mysql_query("SELECT SUBSTRING(usersince, 1, 10) Date, COUNT(usersince) Submits FROM user GROUP BY `usersince` ORDER BY date_format(usersince, 'dd.mm.YYYY') DESC", $DatabasePointer);

Daten aus einer Datenbank. Nur sollte eigentlich das Datum sortiert werden, aber er sortiert wie er will.

Ich habe schon viel über das Problem gefunden, aber die bringen mich nicht weiter!?

Was kann ich ändern?
 
Wenn du ein MySQL-internes Datumsformat verwendest, brauchst du das Datum gar nicht zu formatieren. Zudem hast du ein äußerst unpassendes Datumsformat gewählt, da die Jahreszahl erst nach der Monatszahl und nach der Tageszahl sortiert wird.
 
Hmm gibt es denn keine Funktion, mitder man das Problem lösen kann?

Es ist nun sehr schwer, wenn man alle 1000 User umschreibt! :suspekt:
 
Hast du mich überhaupt verstanden? Die MySQL-Datumsformate müssen nicht formatiert werden, um sie chronologisch sortieren zu können. Und sonst gibt es auch noch andere Datumsformate, bei denen das ebenfalls gilt.
 
Tut mir leid, aber ich habe dich leider nicht so richtig verstanden.

Also einfach nur:

PHP:
ORDER BY Date

funktioniert nicht. Dann sortiert er nur nach Tagen...
 
Warum funktioniert das denn nicht;

PHP:
$ResultPointer = mysql_query("SELECT SUBSTRING(usersince, 1, 10) as Date, COUNT(usersince) as Submits FROM user GROUP BY Date ORDER BY DATE_FORMAT(usersince, 'dd.mm.YYYY') ASC", $DatabasePointer);

ist doch eigentlich total logisch... Ich sage ihm doch in welchem Format das Datum ist und er soll einfach nur noch sortieren?
 
Hat Gumbo dir eigentlich auch fast gesagt:
Zudem hast du ein äußerst unpassendes Datumsformat gewählt, da die Jahreszahl erst nach der Monatszahl und nach der Tageszahl sortiert wird.

Der PC sortiert standardmäßig von vorn nach hinten. Hier ein Beispiel, wie wir es sortieren würden:
Code:
11.12.2007
11.11.2003
15.09.2008

Der PC guckt sich das quasi als String an von vorn nach hinten (fast schon wie eine Zahl) und merkt 5 ist größer als 1 also muss das als erstes:
Code:
15.09.2008
11.12.2007
11.11.2003

oder ohne "." als "Zahl" (hypothetisch):
Code:
15092008
11122007
11112003
 
Normal sortieren habe ich schon versucht, aber da kommt auch nix bei raus :rolleyes:

Hat jemand noch eine Idee wie ich das lösen kann?
 

Neue Beiträge

Zurück