Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir la ligne la plus récente pour un ID donné

Utilisez l'agrégat MAX(signin) regroupés par identifiant. Cela répertoriera la signin la plus récente pour chaque id .

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

Pour obtenir l'intégralité de l'enregistrement, effectuez un INNER JOIN contre une sous-requête qui ne renvoie que le MAX(signin) par identifiant.

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