Nous voulons le plus récent poster sur chaque unique thread, nous pouvons le faire en...
Utilisation de GROUP BY
et 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
Ceci est un exemple ! Assurez-vous de l'utiliser pour modifier le vôtre, c'est assez simple cependant. Je n'ai pas de base de données pour tester cela, mais je suis testé avec mes propres données et différentes colonnes et cela a fonctionné.
Remarque : Cela suppose que chaque identifiant est identique dans les deux tables. Il suppose également que post_time est une valeur temporelle qui augmente à mesure que la publication est récente (c'est-à-dire l'horodatage SQL).