您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

删除行以在Oracle表中每个组具有最多x行

删除行以在Oracle表中每个组具有最多x行

假设表中的组合(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);
Oracle 2022/1/1 18:53:15 有510人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶