|
|||
Mysql: SELECT 5 neuste Datensätze, aber in umgekehrter Reihenfolge?
Hi,
ich habe folgendes Problem: Ich will eine Datenbank abfrage machen und nur die neusten 5 Einträge aus der Datenbank erhalten. Im Prinzip kein Problem: mit ORDER BY wird nach der Zeitspalte in absteigender Richtung sortiert (also angefangen beim neusten) und mit dem Limit statement werden nur 5 ausgewählt. Mein Problem ist aber das ich am Ende aber doch die Aufsteigende Reihenfolge ausgeben will. Mit obiger Methoder erhalte ich folgende Liste (ohne noch nachträglich sortieren zu müssen): - neustes Element - zweit neustes - 3. neustes - 4. neustes - 5. neustes ich will aber folgendes: -5. neustes - 4. neustes - 3. neustes - 2. neustes - neustes Um das direkt mit dem Select statement zu reaslisieren, müsste ich vorher wissen wieviele Elemente in der Datenbank enthalten sind und ich müsste noch dazu in aufsteigender Reihenfolge sortieren mit Order by. Und gerade die aufsteigende Sortierung lässt mich hier einiges an performance verlieren wenn die DB groß ist (da mysql die Sortierung ja nicht vorzeitig abbrechen kann und erstmal alles Sortieren muss). Punkt zwei ist, dan ich vorher garnicht weiß wieviele Datensätze enthalten sind, bzw. wäre das ein zusätzlicher Aufwand. Wenn es da keine Möglichkeit gibt, das Ergebnis im nachhinein nochmal umzusortieren, bleibt mir wohl nur die Scriptseitige Umsortierung, was ja auch nicht so toll wäre. EDIT: ich habe erstmal eine Lösung gefunden: Ich habe das gesammte select Statement (das mit zwar die richtigen Datensätze liefert, aber in umgedrehter Reihenfolge[Liste 1, oben]) einfach in ein weiteres Statement gesteckt, also quasi eine Art subselect durchgeführt: SELECT * FROM (original statement) AS subtable ORDER BY time ASC das funktioniert, ob das eine vernünftige Lösung ist, ist natürlich eine andere Frage. Geändert von braindead (19.10.2009 um 18:42 Uhr) |
Sponsored Links |
|
||||
Wenn du PHP verwendest: Was spricht gegen array_reverse ?
|
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Mysql Select Problem: auswählen von Zeilen die einen Wert aus Subselect NICHT haben? | braindead | Serveradministration und serverseitige Scripte | 4 | 13.03.2008 13:04 |
Mysql: mit nur einem Select das nächste Element auswählen (nicht kontinuierliche Tab) | braindead | Serveradministration und serverseitige Scripte | 1 | 20.01.2008 14:14 |
MySQL: AVG und COUNT in einem SELECT kominieren wie muss GROUP BY aussehen? | braindead | Serveradministration und serverseitige Scripte | 8 | 16.01.2008 14:10 |
Datensätze aus MySql darstellen | hieger | CSS | 22 | 08.08.2007 07:24 |
mysql: kann man count() in select Anfragen nicht mit anderen Spalten kombinieren? | braindead | Serveradministration und serverseitige Scripte | 5 | 13.03.2007 23:53 |