2014-02-04 3 views

ответ

0
DELETE FROM table_name A WHERE id > (
     SELECT min(id) FROM table_name B 
     WHERE A.name= B.name and A.firstname = B.firstname and 
       A.time=B.time and A.age=B.age); 
+0

Чтобы быть ясным, это удалит наименьший идентификатор, где столбцы имени и первого имени равны. – cjb110

+0

Привет, он удаляет повторяющуюся строку только с двумя комбинациями столбцов, если вы хотите больше строк, чем добавить еще строку в состояние – jainvikram444

0

Попробуйте это, если вы используете Oracle:

Delete from Your_Table 
    Where 
    ROWID not in (Select min(ROWID) 
      from Your_Table    
      group by name, firstname ,time ,age   
      ); 
Смежные вопросы