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

Obter a linha mais recente para determinado ID


Use o agregado MAX(signin) agrupados por id. Isso listará o signin mais recente para cada id .
SELECT 
 id, 
 MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id

Para obter todo o registro único, execute um INNER JOIN em uma subconsulta que retorna apenas o MAX(signin) por identificação.
SELECT 
  tbl.id,
  signin,
  signout
FROM tbl
  INNER JOIN (
    SELECT id, MAX(signin) AS maxsign FROM tbl GROUP BY id
  ) ms ON tbl.id = ms.id AND signin = maxsign
WHERE tbl.id=1