sql >> Databasteknik >  >> RDS >> Oracle

Oracle:Ta bort dubbletter i en grupp från Tabell med join

Använd Oracles KEEP LAST för att hitta det bästa rc_document_id enligt document_id . Ta sedan bort alla andra.

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-demo:http://rextester.com/NZVZGF52818



  1. MySQL transaktion gåta

  2. Spring Boot + docker-compose + MySQL:Anslutningen nekades

  3. Fatalt fel:Oupptäckt undantag 'mysqli_sql_exception' med meddelandet 'Inget index används i fråga/förberedd sats'

  4. Förvandla databasresultat till array