Użyj agregacji MAX(signin)
pogrupowane według id. Spowoduje to wyświetlenie listy najnowszych signin
dla każdego id
.
SELECT
id,
MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id
Aby uzyskać cały pojedynczy rekord, wykonaj INNER JOIN
przeciwko podzapytaniu, które zwraca tylko MAX(signin)
na identyfikator.
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