Cela devrait le faire :
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
Si nous supposons qu'un commentaire est toujours plus ancien que la publication, nous pouvons simplifier :
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