sql >> Database >  >> RDS >> Mysql

BESTEL OP één ID wanneer er meer van dezelfde ID's in één tabel zijn

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




  1. Genereren van volgorde in volgorde

  2. Emoji invoegen in MYSQL 5.5 en hoger met Django ORM

  3. Heeft een Join-tabel (associatietabel) een primaire sleutel? veel op veel relatie

  4. selecteer relevantie titel op basis van tag vergelijkbaar met like met mysql