sql >> Base de Datos >  >> RDS >> Mysql

ORDENAR POR un ID cuando hay más del mismo ID en una tabla

Queremos lo más nuevo publicar en cada único subproceso, podemos hacerlo por...

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

Este es un ejemplo ! Asegúrate de usarlo para modificar el tuyo, aunque es bastante simple. No tengo una base de datos para probar esto, pero me probaron con mis propios datos y diferentes columnas y funcionó.

Nota: Esto supone que cada Id es idéntico en ambas tablas. También asume que post_time es un valor de tiempo que aumenta cuanto más reciente es la publicación (es decir, SQL Timestamp).