Подходът на аналитичната функция би изглеждал нещо като
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
Имайте предвид, че в зависимост от това как искате да обработвате връзки (или дали връзките са възможни във вашия модел на данни), може да искате да използвате или ROW_NUMBER
или DENSE_RANK
аналитична функция, а не RANK
.