De analytische functiebenadering zou er ongeveer zo uitzien:
SELECT a, some_date_column
FROM (SELECT a,
some_date_column,
rank() over (partition by a order by some_date_column desc) rnk
FROM tablename)
WHERE rnk = 1
Houd er rekening mee dat, afhankelijk van hoe u met koppelingen wilt omgaan (of of koppelingen mogelijk zijn in uw gegevensmodel), u misschien de ROW_NUMBER
wilt gebruiken of de DENSE_RANK
analytische functie in plaats van RANK
.