Photo by Miguel Á. Padriñán on Pexels.com
一定の上限を超えたデータを削除するMYSQL文を作りました。
この投稿は1年以上前に公開されました。 現在の情報とは異なる可能性がありますので、ご了承ください。
おはようございます。今日は手続きに奔走してきます。
さて一定の上限を超えたデータを削除するMYSQL文を作りましたので、お裾分けです。下記のコードはidを降順にした上で、自動でnoを割り振ります。自動で割り振ったnoを元に条件件数を超えるデータは削除しております。なぜ、このようなMYSQL文を作ったかというと日付では判別出来ない削除データがあったからです。
DELETE T1 FROM test_tbl AS T1
inner join (SELECT ROW_NUMBER() OVER(ORDER BY id DESC) AS rownum,id from test_tbl) AS T2
on T1.id = T2.id WHERE T2.rownum >= 4590;この方法を使用するとサブクエリでいろいろな条件をしていた上でナンバーを割り振り削除することが出来ます。他にも方法はあると思いますが自分が思いついた、まぁある程度、処理の早い削除かと思います。是非、ご活用頂ければ幸いです。