Вообще говоря, это может сделать работу:
select id,
max(update_date) max_update_date
from table1
group by id;
в
MAX
вернет самое последнее UPDATE_DATE
GROUP BY
вернет DISTINCT
ID в любом случае (так что вам не нужно его указывать)
Если этого не произойдет, предоставьте контрольный пример и объясните, какой вывод вы хотите получить; кто-то поможет.