Chcemy najnowszego post na każdym unikalnym wątku, możemy to zrobić przez...
Korzystanie z GROUP BY
i 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
To jest przykład ! Upewnij się, że używasz go do modyfikowania własnych, jest to jednak dość proste. Nie mam bazy danych, aby to przetestować, ale jestem testowany z własnymi danymi i różnymi kolumnami i zadziałało.
Uwaga: Zakłada się, że każdy identyfikator jest identyczny w obu tabelach. Zakłada również, że post_time to pewna wartość czasu, która zwiększa się wraz z nowszym postem (tj. Znacznik czasu SQL).