2011-01-03 26 views
1

Ich versuche, Datensätze aus meiner Datenbank basierend auf dem ältesten Datum zu ziehen.PHP/MySQL Sortieren nach Datum

Die MySQl Tabelle sieht wie folgt aus:

Status, Datum, letzten, url

1, 2010-12-30 17.59.54, 2011-01-03 06.26.04, site1.com

1, 2010-12-28 00.16.10, 2011-01-03, 06.25.24, site2.com

Das Datum und die letzten Zeilen sind Datetime.

Hier sind zwei Arten von Abfragen Ich habe versucht:

mysql_query("SELECT * FROM links WHERE status=1 ORDER BY last DESC LIMIT 0,25"); 
mysql_query("SELECT * FROM links WHERE status=1 ORDER BY DATE(last) DESC LIMIT 0,25"); 

Die Abfrage für den größten Teil funktioniert, aber hinterlässt immer einige der ältesten Aufzeichnungen aus ...

Irgendwelche Ideen?

Danke

+0

Nun sind Sie bei 25 Ergebnisse zu begrenzen, so dass Sie nur die letzte 25. Die erste Abfrage keine Notwendigkeit sehen werden, auf 'last' zu verwenden' DATE' genug ist. – nico

+0

Die Tabelle enthält 100 Zeilen. Ich wollte nur die 25 mit den ältesten Daten. – R3dBu77

Antwort

1

Ich werde „letzte“ bedeutet zuletzt geklickten oder aktualisiert Recht zu übernehmen? Ich denke auch, dass Sie aufsteigende Reihenfolge (12/20, 12/21) möchten, weil Sie die ältesten Daten zuerst möchten. "ORDER by Last LIMIT 25" sollte in Ordnung sein, da ASC implizit ist.

+0

Ja, das ist 100% was ich will. Ich werde es versuchen. :) – R3dBu77

1

Was sind Datums- und letzte Datentypen? Zeitstempel oder?

versuchen Sie dies:

mysql_query("SELECT * FROM links WHERE status=1 ORDER BY UNIX_TIMESTAMP(last) DESC LIMIT 0,25"); 
+0

Datum und Last sind beide DATETIME. – R3dBu77