Use SekureTime Go DELETE USER_TIME_LOG FROM USER_TIME_LOG LEFT OUTER JOIN ( SELECT MIN(TIME_LOG_ID) as RowId, [COMPANY_CODE],[USER_ID],[LOG_TIME] FROM USER_TIME_LOG GROUP BY [COMPANY_CODE],[USER_ID],[LOG_TIME] ) as KeepRows ON USER_TIME_LOG.TIME_LOG_ID = KeepRows.RowId WHERE KeepRows.RowId IS NULL