SQL - ORDER BY 'datetime' DESC

Habe ich mehrere Werte gespeichert, die in meiner Datenbank als DATETIME Datentyp (YYYY-MM-DD HH:MM:SS), und ich habe versucht, um Sie in absteigender Reihenfolge - der höchsten zur niedrigsten (Im Fall von Daten - Neuesten zum ältesten), obwohl, seltsam genug, es scheint zu ignorieren, die Existenz der DESC Betreiber ganz.

Die SQL-Abfrage (Abgekürzt):

SELECT post_datetime FROM post WHERE type=`published` ORDER BY post_datetime DESC LIMIT 3

Und Sie drucken in dieser Reihenfolge:

2014-04-30 11:55:11
2014-07-01 12:25:40
2014-07-02 12:28:03

(Die zufällig die "älteste" Datum-Einträge in der Datenbank zu)

Lösung? Ich werde beachten Sie, dass die Verwendung von DESC auf andere Dinge (wie normale zahlen) funktioniert auch nicht. Ich habe meine syntax, versuchte Anführungszeichen keine Anführungszeichen, doppelte Anführungszeichen, & so.

(Hinweis - ich werde nicht in der Lage, auf weitere Fragen zu Antworten, die für mehrere Stunden, obwohl ich mein bestes tun werde, zu Antworten, sobald ich zurück)


(6/11/17)

Bearbeiten: um Zu klären, für zukünftige Leser, die syntax typo war nicht im Zusammenhang mit dem Thema und war ein Fehler meinerseits bei der Eingabe ein Beispiel. Ich hatte eine selbstgemachte Abfrage-generator so lange, dass ich vergessen hatte, die richtige syntax zu der Zeit. Das Thema lied in meinem Programm ist Logik—nicht die Abfrage. Das obige Beispiel wurde bearbeitet und ist richtige Lösung für alle, die sich zur Durchführung der genannten Aufgabe. Es tut mir Leid das angesehen wurde, über 50k mal... aber jetzt wissen Sie es.

Die Abfrage sollte wurden zu werfen mindestens einen syntax-Fehler (da = nach ORDER BY und LIMIT), und einen Fehler beschweren, dass Sie nicht finden konnte eine Spalte mit der Bezeichnung 'post_datetime DESC'. Sollten Sie versucht haben, die Arbeit durch solche Fehler ersten.

InformationsquelleAutor Super Cat | 2014-07-04

Schreibe einen Kommentar