Remove specific duplicates (all but latest)
You could implement a query using row_number() to delete everything but the most recent row. This partitions the data by the employee_id and orders it by the autoId column, then you delete everything that is greater than the first row number:

;with cte as
(
  select [EMPLOYEE_ID], [ATTENDANCE_DATE], [AUTOID],
    row_number() over(partition by [EMPLOYEE_ID], [ATTENDANCE_DATE] 
                      order by  [AUTOID] desc) rn
  from dbo.ATTENDANCE
)
delete 
from cte 
where rn &gt; 1;


See SQL Fiddle with Demo