Zakładając serwer SQL (>=2005) lub Oracle (10g?):
WITH CTE AS
(
SELECT
ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Seq DESC) AS RN
, ID, Age
FROM
Persons
)
SELECT ID, Age
FROM CTE
WHERE RN = 1
ROW_NUMBER
zwraca kolejny numer wiersza w partycji zestawu wyników.
Edytuj :działa również w Oracle, jak widać tutaj:http://sqlfiddle.com/#!4/b7e79/2/0