ich wollte aus meiner datenbank ein paar datensätze herausholen und sortieren.
es sind kommentare für blogeinträge, die im adminpanel angezeigt werden sollen (zum bearbeiten, etc.)
Jetzt möchte ich eine sortierung, dass die kommentare nach den seiten und nach der zeit sortiert werden. das funktioniert auch soweit (SELECT * FROM kommentare ORDER BY seitenname, zeit DESC).
allerdings sollen die seiten zuerst angezeigt werden, wo zuletzt ein kommentar abgegeben wurde.
wie bekomme ich das hin?
Achte auf die Reihenfolge der Spalten die Du bei ORDER angibst. Die erste Spalte ist die primäre Sortierung, die zweite die sekundäre. Zudem kannst Du ASC und DESC auch bei den Spalten einzeln angeben.
SELECT * FROM kommentare ORDER BY zeit ASC, seitenname DESC
ja aber das gibt mir immer noch nicht das gewünschte ergebnis.
deine sortierung würde jetzt ausgeben:
kommentar1 seite1 1 uhr
kommentar2 seite1 2 uhr
kommentar1 seite2 3 uhr
kommentar3 seite1 4 uhr
kommentar2 seite2 5 uhr
und die kommentare aus seite2 sollen an erster stelle stehen, weil dort als letztes (5uhr ein post gemacht wurde).
sprich die kategorien nach der zeit des letzten posts und darin die posts nach der zeit
Ps.: im prinzip wie in einem forum.
da rutscht ein thread auch nach oben, wenn ein post gemacht wurde. auch wenn der erste post in dem thread vor jahren war.