Sven Rautenberg: Letzte 5 Zeilen einer MySQL Datenbank anzeigen !!

Beitrag lesen

Moin!

ich habe ein Tabelle die nennt sich Users und ich möchte dort die 5 neusten Einträge anzeigen !!

MySQL-Tabellen sind grundsätzlich als unsortiert zu betrachten. Wenn du irgendwas sortiert haben willst, mußt du das mit "ORDER BY spaltenname (ASC|DESC)" in aufsteigender (ASC) oder absteigender (DESC) Reihenfolge explizit veranlassen. Bedenke: Sortieren kosten unnötig Zeit, deshalb läßt man es bei Aufgaben, die nicht sortiert werden müssen, gerne einfach weg und muß es explizit angeben, wenn man es so haben möchte.

Dann zum Thema "neueste Einträge": Du benötigst irgendeine Spalte, nach der du sortieren kannst und aufgrund derer die Einträge dann in der Reihenfolge stehen, wie sie hinzugekommen sind. Das kann beispielsweise eine absolut eindeutige ID sein (z.B. in einem auto_increment-Feld), oder auch ein Datum in einem DATETIME-Feld.

Und dann willst du nur 5 Stück (und nicht die ganze Tabelle) haben - "LIMIT 5".

Wenn du also nur die ID hast, und jeder neue User eine größere ID kriegt, als alle Einträge vorher, kannst du danach sortieren und die größten 5 IDs (und die weiteren Felder) ausgeben lassen:

SELECT id, sonstige felder FROM tabelle ORDER BY id DESC LIMIT 5

Damit wird nach der ID-Spalte sortiert, die größten (und damit die neuesten) IDs zuerst (absteigend = DESC), und es werden nur 5 Datensätze dieser Liste ausgegeben.

Mit Datum wärs im Prinzip genauso - je größer das Datum, desto später, also liefert die absteigende Sortierung des Datums ebenfalls die neuesten Einträge.

- Sven Rautenberg

--
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|