最新のデータを残して他を削除するSQL

スポンサーリンク

1000件のデータになるように登録日を利用して新しいデータのみを残すSQL
何らかのデータ収集のために一時的にデータを保存するときなどに利用できる。

DELETE FROM `access` WHERE NOT EXISTS(
     SELECT * FROM
        (SELECT * FROM `access` tableA
         ORDER BY tableA.access_create_time DESC LIMIT 1000
        ) tableB
     WHERE access.id = tableB.id AND access.access_create_time = tableB.access_create_time
)

コメント

タイトルとURLをコピーしました