Gebruik het totaal MAX(signin) gegroepeerd op id. Dit toont de meest recente signin voor elke id .
SELECT
id,
MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id
Voer een INNER JOIN uit om het hele record te krijgen tegen een subquery die alleen de MAX(signin) . retourneert 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