Verwenden Sie das Aggregat MAX(signin)
nach ID gruppiert. Dies listet die letzte signin
auf für jede id
.
SELECT
id,
MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id
Um den gesamten einzelnen Datensatz zu erhalten, führen Sie einen INNER JOIN
durch gegen eine Unterabfrage, die nur den MAX(signin)
zurückgibt pro 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