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

Изтрийте редове, за да имате максимум x реда на група в таблицата на Oracle

Приемаме комбинацията (person_id, car_id) е уникален в таблицата, можете да направите нещо подобно:

delete from car_assignment 
where (person_id, car_id) 
        in (select person_id, car_id
            from (
              select person_id, 
                     car_id, 
                     row_number() over (partition by person_id order by car_id) as rn
              from car_assignment
            ) t 
            where rn > 2);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конвертирам XMLTYPE в VARCHAR в ORACLE?

  2. Как да определите размера на таблиците в Oracle

  3. Кастинг на дата в Oracle

  4. Отменете привилегиите в Oracle

  5. Как да изпратите POST заявка с данни от формуляр и параметри в PL/SQL