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

Agrupe por usuario y muestre lo último en MYSQL que no funciona

Como se menciona en los comentarios a Respuesta de Robin , ese enfoque no es confiable porque MySQL no garantiza que siempre devolverá el estado más reciente de cada grupo. En su lugar, debe unirse a su tabla con una subconsulta que seleccione el estado más reciente (basado en addedDate ).

SELECT   *
FROM     status
  NATURAL JOIN (
    SELECT   userID, MAX(addedDate) as addedDate
    FROM     status
    GROUP BY userID
  ) AS mostRecent
ORDER BY addedDate DESC
LIMIT    10

Tenga en cuenta que si un usuario tiene varias actualizaciones de estado con el mismo addedDate , el servidor los devolverá todos (mientras que la consulta de Robin devolvería uno indeterminado); si necesita controlar dicha situación, deberá definir cómo se determina qué actualización de estado debe seleccionarse.