SQL-Server(> =2005)または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
結果セットのパーティション内の行の連番を返します。
編集 :ここで確認できるように、Oracleでも機能します:http://sqlfiddle.com/#!4 / b7e79 / 2/0