sql >> Database teknologi >  >> RDS >> Mysql

BESTIL EFTER ét ID, når der er flere af de samme ID'er i en tabel

Vi vil have det nyeste opslag på hver unik tråd, det kan vi gøre ved...

Brug af GROUP BY og 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

Dette er et eksempel ! Sørg for at bruge den til at ændre din egen, det er dog ret simpelt. Jeg har ikke en database til at teste dette, men jeg er testet med mine egne data og forskellige kolonner, og det virkede.

Bemærk: Dette forudsætter, at hvert id er identisk i begge tabeller. Det antager også, at post_time er en tidsværdi, der stiger, jo nyere indlægget er (dvs. SQL Timestamp).




  1. Jeg får dobbelte resultater fra mysql-forespørgsel, når jeg bruger internationale tegn, dvs. Å/Ä=A &Ö=O,

  2. Ikke-opdaterbar kolonne i mysql-tabel

  3. Importer og indsæt sql.gz-fil i databasen med kit

  4. Dynamisk rullemenu for forskellige lande, stater, geografiske placeringer?