you must use the rowid column to delete the duplicate record delete from table_namewhere rowid not in (select min(rowid) from table_name group by c1,c2,c3) e.g:delete from employeeswhere rowid not in (select min(rowid) from employees group by employee_id, first_name,last_name)