MySQL DB Zeilen nachladen OHNE eindeutige ID

chris4712

Erfahrenes Mitglied
Hey!

Ich brauche mal einen Schubser in die richtige Richtung:
Aus einer Datenbank werden beim Scrollen Datensätze nachgeladen. Das geht solange wunderbar, wie ich die Ausgabe nach der ID sortiere und folgende Abfrage mache:

SELECT * FROM `Pictures` WHERE ID < 7200 ORDER BY ID DESC LIMIT 100
nächste Abfrage wäre dann
SELECT * FROM `Pictures` WHERE ID < 7100 ORDER BY ID DESC LIMIT 100

Nun möchte ich das ganze aber nach Datum sortiert ausgeben.
Und hier kann es nun sein dass:
  • Ein jüngeres Datum eine höhere ID hat, ich also nicht mir "WHERE ID < ###" arbeiten kann
  • Einige Datensätze das exakt gleiche Datum haben
    Also scheidet "WHERE DateTime < 2016-07-19 14:26:32" auch aus, da sonst einige Datensätze niemals ausgegeben würden.
Freue mich auf eure Ideen!

Grüße

Christian
 
Hi,

Das WHERE ID < #### brauchst du gar nicht, der LIMIT Befehl unterstützt auch Offsets: https://dev.mysql.com/doc/refman/5.7/en/select.html

Also folgende Queries dann:
SQL:
SELECT * FROM `tabelle` ORDER BY datum DESC LIMIT 0, 100;   -- die ersten 100
SELECT * FROM `tabelle` ORDER BY datum DESC LIMIT 100, 100; -- die nächsten 100

Das LIMIT funktioniert auch wunderbar mit Prepared Statements:
SQL:
SELECT * FROM `tabelle` ORDER BY datum DESC LIMIT ?, 100;

Grüsse,
BK
 
Zurück