Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle:Изтриване на дубликати в група от таблица с присъединяване

Използвайте KEEP LAST на Oracle за да намерите най-добрия rc_document_id за document_id . След това изтрийте всички останали.

delete from rc_document
where rc_document_id not in
(
  select max(d.rc_document_id) keep (dense_rank last order by dg.priority)
  from rc_document d
  join rc_document_group dg using (rc_document_group_id)
  group by d.document_id
);

Демонстрация на Rextester:http://rextester.com/NZVZGF52818



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Въз основа на ден на колона, свързан с дата като заглавие

  2. ORA-24247 при изпращане през FTP

  3. SQL Всички възможни Round Robin комбинации между две таблици

  4. Изборът на клауза в pl/sql функцията връща грешна стойност

  5. Как да разрешите грешката на Oracle ORA-01790?