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