Hallo,
ich bin momentan an einem Forum am basteln, wessen Datenbank-Struktur wie folgt aussieht:
threadid = ID des Thread
zeit = Zeitstempel
parentid = Eltern-id (Wenn es nur ein Post ist, kommt hierrein zusätzlich die Thread-ID).
Nun werden in dieser Tabelle sowohl Threads, als auch Posts gespeichert.
Jetzt möchte ich die neusten 5 Einträge auslesen.
(SELECT * FROM xyz ORDER BY zeit DESC LIMIT 5)
Soweit kein Problem.
Doch sollen die jeweiligen Einträge nicht doppelt vorkommen.
Also muss nun noch darauf geachtet werden, dass Spalte "threadid" nicht doppelt vorkommt.
Also etwas wie:
"SELECT DISTICT threadid FROM xyz ORDER BY zeit DESC LIMIT 5".
Doch da kommt dass Problem, dass nun zwar Datensätze ausgespuckt werden, aber irgendwelche, ein paar Neue, aber auch ein paar Alte.
GROUP BY funktioniert auch nicht so wirklich.
Wahrscheinlich ist an der Syntax von MySQL einfach was an mir vorbeigegangen.
So genau kenne ich mich da auch nicht aus, da mir die Standart-Abfrage mit ein wenig WHERE LIKE etc. schon reicht.
Weiß da jemand Rat?
Vielen Dank im Vorraus
emptynick
ich bin momentan an einem Forum am basteln, wessen Datenbank-Struktur wie folgt aussieht:
threadid = ID des Thread
zeit = Zeitstempel
parentid = Eltern-id (Wenn es nur ein Post ist, kommt hierrein zusätzlich die Thread-ID).
Nun werden in dieser Tabelle sowohl Threads, als auch Posts gespeichert.
Jetzt möchte ich die neusten 5 Einträge auslesen.
(SELECT * FROM xyz ORDER BY zeit DESC LIMIT 5)
Soweit kein Problem.
Doch sollen die jeweiligen Einträge nicht doppelt vorkommen.
Also muss nun noch darauf geachtet werden, dass Spalte "threadid" nicht doppelt vorkommt.
Also etwas wie:
"SELECT DISTICT threadid FROM xyz ORDER BY zeit DESC LIMIT 5".
Doch da kommt dass Problem, dass nun zwar Datensätze ausgespuckt werden, aber irgendwelche, ein paar Neue, aber auch ein paar Alte.
GROUP BY funktioniert auch nicht so wirklich.
Wahrscheinlich ist an der Syntax von MySQL einfach was an mir vorbeigegangen.
So genau kenne ich mich da auch nicht aus, da mir die Standart-Abfrage mit ein wenig WHERE LIKE etc. schon reicht.
Weiß da jemand Rat?
Vielen Dank im Vorraus
emptynick