We willen de nieuwste post op elke unieke draad, dat kunnen we doen door...
GROUP BY
gebruiken en HAVING
.
SELECT *
FROM Posts
JOIN Discussions
on Discussions.discussion_id = Posts.discussion_id
GROUP BY Discussions.discussion_id
HAVING Posts.post_time = max(Posts.post_time)
ORDER BY Posts.post_time DESC
Dit is een voorbeeld ! Zorg ervoor dat je het gebruikt om je eigen aan te passen, het is echter vrij eenvoudig. Ik heb geen database om dit te testen, maar ik ben getest met mijn eigen gegevens en verschillende kolommen en het werkte.
Opmerking: Dit veronderstelt dat elke id in beide tabellen identiek is. Het gaat er ook van uit dat post_time een tijdwaarde is die groter wordt naarmate de post recenter is (d.w.z. SQL Timestamp).