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

ORDINA PER un ID quando ci sono più degli stessi ID in una tabella

Vogliamo il più nuovo pubblica su ogni unico thread, possiamo farlo entro...

Usando GROUP BY e 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

Questo è un esempio ! Assicurati di usarlo per modificare il tuo, è abbastanza semplice però. Non ho un database per testarlo, ma sono stato testato con i miei dati e colonne diverse e ha funzionato.

Nota: Ciò presuppone che ogni ID sia identico in entrambe le tabelle. Presuppone inoltre che post_time sia un valore temporale che aumenta quanto più è recente il post (ad esempio SQL Timestamp).