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

Post di ordine MySQL in base al commento più recente OPPURE all'ultimo pubblicato

Questo dovrebbe farlo:

SELECT p.id
FROM post p
    LEFT JOIN comment c on c.post_id = p.id
GROUP BY p.id
ORDER BY COALESCE(GREATEST(p.created, MAX(c.created)), p.created) DESC

Se assumiamo che un commento sia sempre più vecchio del post, possiamo semplificare:

SELECT p.id
FROM post p
    LEFT JOIN comment c on c.post_id = p.id
GROUP BY p.id
ORDER BY COALESCE(MAX(c.created), p.created) DESC