Гэри Майерс, ваше решение не работает, если, например, для значения A год меньше, чем 2010, и этот год имеет максимальное значение.(Например, если существовала строка 2005, A, 50). Чтобы получить правильное решение, используйте следующее.(который просто меняет значения)
SELECT x, max(y), MAX(year) KEEP (DENSE_RANK FIRST ORDER BY y DESC)
FROM test
GROUP BY x