テーブルからいくつかのランダム データを削除し、90% の行をカットしたい (データが非常に大きいため、サンプルが必要なだけです)、テーブルは次のようになります。
ID |Trans_No |Doctor_ID |Trans_Type |PM |Cost
12340 |10.853329 | |ADMINISTRASI | |0.00
12341 |10.853329 |1004 |JASA MEDIS | |25000.00
12342 |10.853329 | |OBAT RESEP FARMASI NO : 177 |F |2000.00
12343 |10.836033 | |ADMINISTRASI | |0.00
12344 |10.836033 |1001 |JASA MEDIS | |25000.00
12345 |10.836033 | |OBAT RESEP FARMASI NO : 317 |F |0.00
12346 |10.836032 | |ADMINISTRASI | |0.00
12347 |10.836032 |1004 |JASA MEDIS | |25000.00
12348 |10.836032 | |PEMERIKSAAN RADIOLOGI NO 092.1|R |15000.00
12349 |10.836034 |1064 |JASA MEDIS | |25000.00
12350 |10.836034 | |PEMERIKSAAN RADIOLOGI NO 093.1|R |20000.00
このクエリはうまくいくと思います:
DELETE FROM my_table WHERE RAND() <= 0.9
しかし、ご覧のとおり、一部のデータには同じtrans_noがあり、1つのtrans_noが削除された場合、同じtrans_noを持つ他のデータを削除する必要があります。これを行うクエリはありますか?