MySQL ordena las publicaciones por el comentario más reciente O la última publicación

¿Cómo puedo ordenar las publicaciones para que la actividad más reciente esté en la parte superior?

# Schema not including all info, including FKs
CREATE TABLE post(
   id int unsigned primary key auto_increment,
   msg text,
   created datetime
)ENGINE=InnoDb;

CREATE TABLE comment(
   id int unsigned primary key auto_increment,
   post_id int unsigned,
   msg text,
   created datetime
)ENGINE=InnoDb;

Quiero ordenar publicaciones más recientes, donde una nueva publicación es obviamente más reciente que una publicada anteriormente, pero una publicación anterior que tiene un comentario reciente asociado califica como más reciente aún.

Primer intento

# Selecting '*' for simplicity in this example
select *
from post p
left join comment c on c.post_id = p.id
group by p.id
order by c.created desc, p.created desc

Esto no funciona porque las nuevas publicaciones se ordenan después de las antiguas con comentarios.

Segundo intento

select *, if(c.id is null, p.created, c.created) as recency
from post p
left join comment c on c.post_id = p.id
group by p.id
order by recency desc

No funciona porque si una publicación tiene más de un comentario,frescura tendrá elcreado El valor de la primera fila coincide, que es el comentario más antiguo.

*Hay una manera de agrupar por p.id (por lo que solo se selecciona una copia de cada publicación), pero la ordenación dentro de cada grupo es por c.date desc, pero el orden de consulta se realiza por Recency? No puedo pensar en una manera de hacer eso sin posiblemente agregar unactualizado campo aenviar, en el que escribiría cada vez que se publique una respuesta ...

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta