Tabelle verkehrt ausgeben
Markus Bauer
- datenbank
0 Tom0 Markus Bauer0 Tom
0 Ilja0 Daniel_Petratsch
Hallo!
Ich habe eine Tabelle in mySQL, von der ich nur einen Teil aber umgedreht ausgeben möchte. Die Tabelle hat eine Spalte "timestamp" und nach der soll sortiert werden.
Nun will ich die letzten 10 Datensätze haben, wobei aber der älteste ganz unten sein soll? Wie mache ich das?
SELECT text FROM tab ORDER BY timestamp DESC LIMIT 0, 10 funktioniert nicht, da werden mir immer die letzten oben ausgegeben
Hello,
Ich habe eine Tabelle in mySQL, von der ich nur einen Teil aber umgedreht ausgeben möchte. Die Tabelle hat eine Spalte "timestamp" und nach der soll sortiert werden.
Nun will ich die letzten 10 Datensätze haben, wobei aber der älteste ganz unten sein soll? Wie mache ich das?SELECT text FROM tab ORDER BY timestamp DESC LIMIT 0, 10 funktioniert nicht, da werden mir immer die letzten oben ausgegeben
Mit einem Self-Join? Das könnte doch klappen, oder?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Mit einem Self-Join? Das könnte doch klappen, oder?
Vielen Dank für deine Hilfe aber wie meinst du das genau?
Markus
Hello,
Mit einem Self-Join? Das könnte doch klappen, oder?
Vielen Dank für deine Hilfe aber wie meinst du das genau?
Ein self-Join besteht dann, wenn man dieselbe Tabelle in zwei Arbeitsbereichen eröffnet und diese miteinander verknüpft. Wenn das DBMS das hergibt, kann man auch Subselects machen, was aber eigetlich intern fast dasselbe bedeutet.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Mit einem Self-Join? Das könnte doch klappen, oder?
Vielen Dank für deine Hilfe aber wie meinst du das genau?
Ein self-Join besteht dann, wenn man dieselbe Tabelle in zwei Arbeitsbereichen eröffnet und diese miteinander verknüpft. Wenn das DBMS das hergibt, kann man auch Subselects machen, was aber eigetlich intern fast dasselbe bedeutet.
Hmm, ja ich weiss grundsätzlich was ein Self-Join ist. Aber das Problem ist ja, soweit ich das sehe, dass ich das LIMIT nur ganz hinten hinstellen kann.
D.h. die Tabelle müsste schon so sortiert sein, dass die ersten 10 Elemente oben genau umgedreht dargestellt sind und das ist doch nicht möglich oder doch??
yo,
Nun will ich die letzten 10 Datensätze haben, wobei aber der älteste ganz unten sein soll? Wie mache ich das?
mit unterabfragen. die unterabfrage ermittelt den 10 kleinsten zweitwert. diesen setzt du dann in der anderen abfrage in der WHERE klausel ein, wo alle werter kleiner oder gleich diesem wert sein müssen und sortierst entsprechend.
Ilja
Hallo Markus!
Ich habe eine Tabelle in mySQL, von der ich nur einen Teil aber umgedreht ausgeben möchte. Die Tabelle hat eine Spalte "timestamp" und nach der soll sortiert werden.
Nun will ich die letzten 10 Datensätze haben, wobei aber der älteste ganz unten sein soll? Wie mache ich das?SELECT text FROM tab ORDER BY timestamp DESC LIMIT 0, 10 funktioniert nicht, da werden mir immer die letzten oben ausgegeben
Wenn dein einziges Problem darin besteht, dass die gewünschten Werte nur in der verkehrten Reihenfolge ausgegeben werden, die Werte aber die gewünschten sind, so sortier die 10 Werte doch einfach mit Php ? Oder habe ich da etwas missverstanden?
freundliche Grüße,
Daniel Petratsch