Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ORDER BY eine ID, wenn es mehrere gleiche IDs in einer Tabelle gibt

Wir wollen das Neueste posten Sie auf jedem einzigartigen Thread, wir können das tun, indem wir...

Verwenden von GROUP BY und 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

Dies ist ein Beispiel ! Stellen Sie sicher, dass Sie es verwenden, um Ihre eigenen zu ändern, es ist jedoch ziemlich einfach. Ich habe keine Datenbank, um dies zu testen, aber ich habe es mit meinen eigenen Daten und verschiedenen Spalten getestet und es hat funktioniert.

Hinweis: Dies setzt voraus, dass jede ID in beiden Tabellen identisch ist. Es wird auch davon ausgegangen, dass post_time ein Zeitwert ist, der zunimmt, je aktueller der Beitrag ist (d. h. SQL Timestamp).