Blaubart: MySQL doppelt sortieren

Beitrag lesen

Tach.

gegeben sind N einträge, in der tabelle der ID/text/timestamp form.
gewünscht:ausgeben von eintraggruppen - jeweils X, um durch diese "blättern" zu können.

soweit einfach - ich gebe parameter Y (seitennumer) mit - und errechne daraus

LIMIT Y*X,Y*X+X ORDER BY timestamp

Das liefert Dir aber nicht X Beiträge ab Y*X. LIMITs zweiter Parameter gibt einfach nur die Anzahl der Datensätze an, nicht den Index des letzten. Falls Deine Seitennummer Y bei 0 beginnt, also eher LIMIT (Y*X + 1), X.

bei eintraganzahl von N*X+z mit z<X wird die letzte/neuste Seite "unvollständig" aussehen. gewünscht wäre natürlich ausgleichen mit den hinteren/älteren eintragblöcken.

Hmm, ich als Nutzer fände das etwas verwirrend, wenn beim Blättern auf der letzten Seite plötzlich Einträge von der Vorgängerseite auftauchen. Wie auch immer ... Das "Problem" kriegst Du relativ einfach in den Griff. Du brauchst dazu ja nur zu wissen, wie viele Einträge es insgesamt gibt. Falls die Differenz zwischen dieser Anzahl und der Seitengröße X kleiner ist als der Startindex Deiner LIMIT-Klausel, verlegst Du diesen Index an die berechnete Stelle. Die Differenz gibt Dir ja an, an welchem Index die letzte komplette Seite beginnt.

--
Once is a mistake, twice is Jazz.