Mysql
 sql >> Database >  >> RDS >> Mysql

Ottieni la riga più recente per un determinato ID

Usa l'aggregato MAX(signin) raggruppati per id. Questo elencherà gli signin più recenti per ogni id .

SELECT 
 id, 
 MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id

Per ottenere l'intero record singolo, esegui un INNER JOIN contro una sottoquery che restituisce solo il MAX(signin) per ID.

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