sql >> データベース >  >> RDS >> Oracle

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);
    


    1. mysqlの手順

    2. SQL Serverのdatetimeとsmalldatetime:違いは何ですか?

    3. MySQLとPHPで計算を行う

    4. STR_TO_DATE()例– MySQL