try this.
select * from temp;
with a as
(
select row_number() over(partition by id,updateddate order by id) as rn
from temp
)
delete from a where rn > 1
select * from temp
The output:
3 2012-05-24 10:22:08.523
3 2012-05-24 10:22:08.523
3 2012-05-24 10:22:08.523