Try this
with cte
as (select row_number() over(partition by name order by Eff_date desc) as rn
from mytable)
delete from cte
where rn>1
____________________________________________________
Deja View - The strange feeling that somewhere, sometime you've optimised this query before
How to get the best help on a forum
http://www.sqlservercentral.com/articles/Best+Practices/61537