PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQL/MySQLi (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   jeweils TOP 5 einer Untergruppe gesucht (http://www.selfphp.de/forum/showthread.php?t=20504)

Jannik 15.11.2008 06:49:07

jeweils TOP 5 einer Untergruppe gesucht
 
Hallo,

ich habe eine Forum-Tabelle nach folgendem Muster:

id, datestamp, lastpost_datestamp, parent_id, ...

Wenn parent_id = 0 handelt es sich um einen Thread, alles andere sind die Posts, die über parent_id dem jeweiligen Thread zugeordnet sind.

Ich suche jetzt ein MySQL-Query, mit dem ich jeweils (!) die letzten 5 Posts der letzten 10 aktiven Threads angezeigt bekomme.

Mein bisheriger Versuch sieht so aus:

Code:

SELECT a.id, a.datestamp, a.lastpost_datestamp
FROM forum AS a
RIGHT JOIN (
    SELECT c.id, c.datestamp
    FROM forum AS c
    ORDER BY c.datestamp DESC LIMIT 0,5)
    AS b
    ON b.parent_id = a.id
WHERE a.parent_id = 0
ORDER BY a.lastpost_datestamp DESC LIMIT 0,10

Leider funktioniert das so natürlich nur für den ersten Thread. Ab dem zweiten wird das Join nicht für das neue a.id ausgewertet.

Wahrscheinlich gehe ich völlig falsch an die Sache heran, aber vielleicht gibt es hier ja einen SQL-Freak, der mir weiterhelfen kann.
Eine definitive Aussage, dass das nicht in einem Query geht, würde mir zwar nicht weiterhelfen, aber dann könnte ich mir zumindest das weitere Suchen/Grübeln ersparen.

Vielen Dank für Euer Kopfzerbrechen!


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:00:26 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.