- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の範囲のデータを削除するには)
特定の範囲のデータを削除する方法についての質問
このQ&Aのポイント
- 現在MySQLについて勉強中で、特定の範囲のデータを削除する方法に困っています。
- SELECT構文を使用すれば簡単に範囲のデータを取得できますが、DELETE構文ではそのような方法はありません。
- 自分で考えた方法では、最小値・最大値を取得してからWHERE節で削除する必要があり、3回のアクセスが必要です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
LIMITをつかった処理はサブクエリなどでもサポートされていないかも。 一度テンポラリに落とした方がよいかもしれません。 プライマリキー(もしくはユニークキー)にidが設定されてとして CREATE TEMPORARY TABLE `ids` SELECT `id` FROM `mytable` WHERE `hoge` = 1 ORDER BY `foo` DESC LIMIT 10 , 20; DELETE FROM `mytable` WHERE `id` in (SELECT `id` FROM `ids`); なんて感じでどうでしょうか?
お礼
アドバイスありがとうございます。 記述頂いた方法で、無事思い通りにできました。