PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei der Sortierung bei SQL



namous
22-02-2006, 16:03
Tabelle vorhanden, wie folgt aufgebaut:
id int(11) not null auto_increment primary key,
date datetime,
blablub varchar(255)

Das Problem:
Gehen wir davon aus in dieser Tabelle sind 500 Einträge gespeichert. Nun brauche ich die 10 aktuellsten Einträge, wobei von denen der aelteste zu erst ausgegeben werden soll.

Daten (vereinfacht):

13:00 Uhr A
14:00 Uhr B
15:00 Uhr C
16:00 Uhr C


Genau in dieser Reihenfolge brauche ich die Daten aber eben nur die letzten. Eine temporäre Tabelle möchte ich vermeiden, ebenso müssen alle Daten in der gleichen Tabelle bleiben.

Ansätze:


SELECT * FROM tabelle WHERE id IN (SELECT id FROM TABELLE ORDER BY date DESC LIMIT 24) ORDER BY date ASC

Geht nicht, da MySQL 4.1.11 kein LIMIT in einem Subquery innerhalb von IN akzeptiert


SELECT * FROM tabelle ORDER BY date DESC LIMIT 24

Humbug, da ich hier die Ergebnisse in der Form: 16:00 Uhr, 15:00 Uhr, 14:00 Uhr, ... kriege

Turbohummel
22-02-2006, 21:22
Hm. Eigentlich trivial. Leider nur eigentlich.
Ich habs jetzt auch ein paar mal probiert, und bin zu keiner Lösung gekommen (falls das unter MySQL 4.1.11 wirklich nicht geht), unter MaxDB gehts.

quinte17
23-02-2006, 11:14
versuchs mal hiermit:


select *
from (SELECT id FROM TABELLE ORDER BY date DESC LIMIT 24) a
order by a.date


greetz