Mysql
 sql >> Base de données >  >> RDS >> Mysql

ORDER BY un ID lorsqu'il y a plusieurs ID identiques dans une table

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).