MySQL - Abfrage Problem
Daniel_T
- datenbank
-1 Fabian St.0 Daniel_T
0 Ilja0 Daniel_T
Hallo ihr!
Ich hab eine Tabelle thread, wo ich für jeden Thread ne ID, Titel,... speicher, und eine Tabelle entry wo jeder Entry ne ID, eine thread_id, ein Erstellungsdatum... usw hab.
Das funktioniert auch alles. Nur hab ich jetzt das Problem, dass ich eine Abfrage brauch, die mir die Threads so ordnet, dass die neuen Einträge zuerst sind!
Ich hoff ihr wisst was ich mein!
Danke!
Daniel
Hi!
Ich hab eine Tabelle thread, wo ich für jeden Thread ne ID, Titel,... speicher, und eine Tabelle entry wo jeder Entry ne ID, eine thread_id, ein Erstellungsdatum... usw hab.
Das funktioniert auch alles. Nur hab ich jetzt das Problem, dass ich eine Abfrage brauch, die mir die Threads so ordnet, dass die neuen Einträge zuerst sind!
Durch was zeichnen sich neuere Threads aus? Besitzen diese eine höhere id als die alten? Wenn ja, dann sollte dir folgender Query weiterhelfen. Beachte vor allem das «ORDER BY id DESC», damit wird anhand der id absteigend (d.h. größere zuerst) sortiert.
SELECT
id,
title,
...
FROM
threads
ORDER BY
id DESC
Eventuell ist das «ORDER BY id DESC» von dir auch durch «ORDER BY datum DESC» zu ersetzen, sofern eine Spalte «datum» vorhanden ist.
Grüße,
Fabian St.
Hi!
Hallo!
Durch was zeichnen sich neuere Threads aus? Besitzen diese eine höhere id als die alten? Wenn ja, dann sollte dir folgender Query weiterhelfen. Beachte vor allem das «ORDER BY id DESC», damit wird anhand der id absteigend (d.h. größere zuerst) sortiert.
Die Zeichnen sich durch ein neueres create_date aus. Hab ich mehrere Threads, sollte immer der Thread als erster sein, der den letzten Post hat. Ich denke ich muss die beiden Tabellen verknüpfen, aber ich weiß nicht genau wie ich das machen kann.
SELECT
id,
title,
...
FROM
threads
ORDER BY
id DESC
>
Das funktioniert leider nicht, da ich ja auch die Einträge berücksichtigen will!
>
> Grüße,
> Fabian St.
Danke
Daniel
>
Hi!
[...]
SELECT
id,
title,
...
FROM
threads
ORDER BY
id DESC
> >
>
> Das funktioniert leider nicht, da ich ja auch die Einträge berücksichtigen will!
Dann habe ich dein Ausgangsposting wohl etwas falsch verstanden ;-) Naja, Ilja hat dir ja bereits eine mögliche Lösung geliefert.
Grüße,
Fabian St.
--
Selfcode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%28+ss%3A%29+de%3A%3E+js%3A%7C+ch%3A%3F+mo%3A%29+zu%3A%29)
yo,
Ich hoff ihr wisst was ich mein!
SELECT t.id, t.titel, MAX(e.erstelldatum) AS Last
FROM thread as t, entry as e
WHERE t.id = e.thread_id
GROUP BY t.id, t.titel
ORDER BY 3,2
ILja
yo,
Ich hoff ihr wisst was ich mein!
SELECT t.id, t.titel, MAX(e.erstelldatum) AS Last
FROM thread as t, entry as e
WHERE t.id = e.thread_id
GROUP BY t.id, t.titel
ORDER BY 3,2
Danke, war genau das, was ich gebraucht hab!
ILja
Daniel