Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter o último registro em cada grupo usando GROUP BY?


Você deve descobrir o último timestamp valores em cada grupo (subconsulta) e, em seguida, junte essa subconsulta à tabela -
SELECT t1.* FROM messages t1
  JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2
    ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;