Ich brauche eine Reihe von Datensätzen aus der MySQL-Datenbank, sortiert nach Feld 'Datum', das Datum im Format YYYY-MM-DD enthält HH: mm: ss. Wenn ich SQL-Abfrage verwenden:SQL ORDER BY Datum DESC gibt keinen letzten Datensatz zurück
$sql = "SELECT * FROM table_name WHERE id=".$_SESSION['id']." ORDER BY date DESC LIMIT 11 OFFSET ".$offset;
alles richtig sortiert, aber die letzte Zeile nie zurückgegeben. Wenn ich SQL-Abfrage ohne Befehl ORDER BY
verwende, werden alle erforderlichen Datensätze zurückgegeben.
Abfrage, die alle benötigten Datensätze aus der Datenbank zurückgibt:
"SELECT * FROM table_name WHERE id=".$_SESSION['id']." LIMIT 11 OFFSET ".$offset;
Ausgabe wird nicht mit LIMIT 11 OFFSET ".$offset
verbunden, weil auch ohne diesen Teil der Abfrage das Problem weiterhin besteht.
Mit was ist dieses ungewöhnliche Verhalten verbunden?
Mögliches Duplikat von [Seltsame Ergebnisse mit Order by und Limit] (http://stackoverflow.com/questions/27803067/strange-results-using-order-by-and-limit) – Woodrow
Sie sagen, Sie bekommen nur 10 Zeilen in der ersten Abfrage, aber 11 in der zweiten? – JNevill
Die 'funktionierende' Abfrage gibt eine unbestimmte Menge von Datensätzen aus der Tabelle zurück. Außerdem ist der Begriff "id" normalerweise für einen Ersatz-PRIMÄRSCHLÜSSEL reserviert, was Ihre Abfrage sehr merkwürdig macht. – Strawberry