sql >> Databasteknik >  >> RDS >> Mysql

BESTÄLL MED ett ID när det finns fler av samma ID i en tabell

Vi vill ha det nyaste inlägg på varje unikt tråd, vi kan göra det genom att...

Använder GROUP BY och 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

Det här är ett exempel ! Se till att du använder den för att modifiera din egen, det är dock ganska enkelt. Jag har ingen databas för att testa detta, men jag är testad med mina egna data och olika kolumner och det fungerade.

Obs! Detta förutsätter att varje ID är identiskt i båda tabellerna. Det förutsätter också att post_time är ett tidsvärde som ökar ju nyare inlägget är (d.v.s. SQL Timestamp).




  1. Sphinx warning preload:kunde inte öppnas

  2. Hur formaterar man bigint-fält till ett datum i Postgresql?

  3. Ändra CSV-fält vid import till mysql

  4. Står MySQL i kö?